Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataEntity / System / Data / EntityModel / SchemaObjectModel / SchemaElementLookUpTable.cs / 2 / SchemaElementLookUpTable.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using System.Collections.Specialized; using System.Diagnostics; using System.Data; using System.Data.Metadata.Edm; namespace System.Data.EntityModel.SchemaObjectModel { ////// Summary description for SchemaElementLookUpTable. /// internal sealed class SchemaElementLookUpTable: IEnumerable , ISchemaElementLookUpTable where T : SchemaElement { #region Instance Fields private Dictionary _keyToType = null; private List _keysInDefOrder = new List (); #endregion #region Public Methods /// /// /// public SchemaElementLookUpTable() { } ////// /// public int Count { get { return KeyToType.Count; } } ////// /// /// ///public bool ContainsKey(string key) { return KeyToType.ContainsKey(KeyFromName(key)); } /// /// /// /// ///public T LookUpEquivalentKey(string key) { key = KeyFromName(key); T element; if (KeyToType.TryGetValue(key, out element)) { return element; } return null; } /// /// /// public T this[string key] { get { return KeyToType[KeyFromName(key)]; } } ////// /// public T GetElementAt(int index) { return KeyToType[_keysInDefOrder[index]]; } ////// /// ///public IEnumerator GetEnumerator() { return new SchemaElementLookUpTableEnumerator (KeyToType,_keysInDefOrder); } IEnumerator System.Collections.IEnumerable.GetEnumerator() { return new SchemaElementLookUpTableEnumerator (KeyToType,_keysInDefOrder); } /// /// /// ///public IEnumerator GetFilteredEnumerator() where S : T { return new SchemaElementLookUpTableEnumerator(KeyToType,_keysInDefOrder); } ////// Add the given type to the schema look up table. If there is an error, it /// adds the error and returns false. otherwise, it adds the type to the lookuptable /// and returns true /// public AddErrorKind TryAdd(T type) { Debug.Assert(type != null, "type parameter is null"); if (String.IsNullOrEmpty(type.Identity)) { return AddErrorKind.MissingNameError; } string key = KeyFromElement(type); T element; if (KeyToType.TryGetValue(key, out element)) { return AddErrorKind.DuplicateNameError; } KeyToType.Add(key,type); _keysInDefOrder.Add(key); return AddErrorKind.Succeeded; } public void Add(T type, bool doNotAddErrorForEmptyName, Func
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- _ContextAwareResult.cs
- XmlAnyElementAttributes.cs
- EntityConnectionStringBuilder.cs
- CollectionViewGroupInternal.cs
- WindowsTreeView.cs
- StorageEntityContainerMapping.cs
- ParseNumbers.cs
- FontWeightConverter.cs
- DeploymentExceptionMapper.cs
- CroppedBitmap.cs
- ValidatingCollection.cs
- Int32Rect.cs
- InfoCardRSAPKCS1SignatureDeformatter.cs
- MouseDevice.cs
- UnsafeNativeMethods.cs
- Crypto.cs
- ElementNotAvailableException.cs
- Registry.cs
- BaseCodeDomTreeGenerator.cs
- SqlUnionizer.cs
- DefaultDialogButtons.cs
- PackageDigitalSignature.cs
- PeerInvitationResponse.cs
- MenuAdapter.cs
- ConstructorBuilder.cs
- ThreadAbortException.cs
- TypeBuilderInstantiation.cs
- PermissionSetEnumerator.cs
- XamlReader.cs
- CompensationHandlingFilter.cs
- JpegBitmapEncoder.cs
- SafeNativeMethods.cs
- CapabilitiesAssignment.cs
- _AutoWebProxyScriptWrapper.cs
- RTTrackingProfile.cs
- WebPartUserCapability.cs
- XamlFrame.cs
- SqlClientFactory.cs
- TraceHandler.cs
- WindowsTokenRoleProvider.cs
- ColorAnimation.cs
- AuthenticationManager.cs
- Line.cs
- XmlEnumAttribute.cs
- ObjectAnimationUsingKeyFrames.cs
- HostExecutionContextManager.cs
- WebHttpBindingCollectionElement.cs
- DoubleCollectionConverter.cs
- VarInfo.cs
- FieldAccessException.cs
- sitestring.cs
- PersonalizationDictionary.cs
- DescendantBaseQuery.cs
- Clipboard.cs
- ObjectStateFormatter.cs
- SqlClientPermission.cs
- FrameworkElementFactory.cs
- WriteableBitmap.cs
- WebServiceTypeData.cs
- JavaScriptString.cs
- ProtocolElementCollection.cs
- TargetPerspective.cs
- ToolStripLabel.cs
- SearchForVirtualItemEventArgs.cs
- versioninfo.cs
- DispatcherHookEventArgs.cs
- GeneralTransform2DTo3DTo2D.cs
- TypedRowHandler.cs
- OleAutBinder.cs
- OdbcErrorCollection.cs
- Schema.cs
- Native.cs
- ConvertersCollection.cs
- ExpressionBuilderCollection.cs
- TimeStampChecker.cs
- HierarchicalDataSourceControl.cs
- Resources.Designer.cs
- Events.cs
- XsltArgumentList.cs
- DataSourceXmlClassAttribute.cs
- Decoder.cs
- PropertyContainer.cs
- activationcontext.cs
- ListSourceHelper.cs
- CreateUserWizardStep.cs
- PathSegment.cs
- WebPartZoneBase.cs
- CalendarTable.cs
- JapaneseCalendar.cs
- TitleStyle.cs
- ApplicationServicesHostFactory.cs
- PointIndependentAnimationStorage.cs
- MemberMemberBinding.cs
- ImageKeyConverter.cs
- ConnectorEditor.cs
- WorkerRequest.cs
- SignatureToken.cs
- TextBox.cs
- XmlSerializationReader.cs
- DecimalStorage.cs