Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / EntityModel / SchemaObjectModel / SchemaElementLookUpTable.cs / 1305376 / 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
- TextComposition.cs
- TraceListeners.cs
- ReceiveParametersContent.cs
- Internal.cs
- HtmlForm.cs
- WindowsListView.cs
- AnimationClock.cs
- DPTypeDescriptorContext.cs
- CustomGrammar.cs
- SessionParameter.cs
- ExclusiveNamedPipeTransportManager.cs
- SystemTcpConnection.cs
- MgmtConfigurationRecord.cs
- XamlVector3DCollectionSerializer.cs
- ImageIndexConverter.cs
- ColumnProvider.cs
- TemplateLookupAction.cs
- TextRangeSerialization.cs
- NamespaceCollection.cs
- FormsAuthenticationModule.cs
- DataControlFieldHeaderCell.cs
- X500Name.cs
- RowUpdatedEventArgs.cs
- GeometryGroup.cs
- StsCommunicationException.cs
- ObjectItemAttributeAssemblyLoader.cs
- DictionaryBase.cs
- FontFamily.cs
- CacheDict.cs
- AQNBuilder.cs
- StrongTypingException.cs
- DisplayInformation.cs
- XmlSerializationWriter.cs
- QilXmlWriter.cs
- WindowsSpinner.cs
- AxHost.cs
- Matrix3DConverter.cs
- XmlSchemaElement.cs
- NeutralResourcesLanguageAttribute.cs
- XmlSchemaElement.cs
- OperatorExpressions.cs
- SiteMapNodeItem.cs
- ToolCreatedEventArgs.cs
- PhysicalFontFamily.cs
- TerminateDesigner.cs
- NullRuntimeConfig.cs
- SiteMapProvider.cs
- HttpListenerContext.cs
- RIPEMD160Managed.cs
- InvokeSchedule.cs
- ErrorFormatterPage.cs
- WindowsBrush.cs
- EventSinkHelperWriter.cs
- DataError.cs
- XmlChildNodes.cs
- DesignerForm.cs
- FunctionQuery.cs
- TextEditorMouse.cs
- TextServicesPropertyRanges.cs
- CustomCategoryAttribute.cs
- DataStorage.cs
- SoapUnknownHeader.cs
- StylusPlugin.cs
- EncodingInfo.cs
- DictionaryChange.cs
- MobileControlPersister.cs
- CopyNamespacesAction.cs
- dsa.cs
- PolyBezierSegment.cs
- NativeMethods.cs
- ToolStripRenderer.cs
- Perspective.cs
- XmlNotation.cs
- GetLedgerRequest.cs
- NativeRightsManagementAPIsStructures.cs
- IteratorAsyncResult.cs
- LambdaCompiler.Statements.cs
- WebPartsSection.cs
- SettingsPropertyNotFoundException.cs
- DES.cs
- StartFileNameEditor.cs
- Pair.cs
- NegotiateStream.cs
- AllMembershipCondition.cs
- OuterGlowBitmapEffect.cs
- HttpModuleAction.cs
- ImportCatalogPart.cs
- FieldMetadata.cs
- DeleteStoreRequest.cs
- CollectionEditVerbManager.cs
- lengthconverter.cs
- SiteMapSection.cs
- CodeBinaryOperatorExpression.cs
- TokenBasedSet.cs
- Configuration.cs
- CachingParameterInspector.cs
- HtmlTextArea.cs
- WebPartMenuStyle.cs
- PowerStatus.cs
- ThreadStaticAttribute.cs