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
- HtmlToClrEventProxy.cs
- AnnouncementEndpointElement.cs
- OdbcEnvironment.cs
- DetailsViewDeletedEventArgs.cs
- TextStore.cs
- ConfigsHelper.cs
- CodeEventReferenceExpression.cs
- EntityDataSourceDesigner.cs
- KeyEvent.cs
- XmlSchema.cs
- AspNetSynchronizationContext.cs
- PerformanceCounterPermissionEntryCollection.cs
- Size.cs
- DetailsViewDeletedEventArgs.cs
- TextDecoration.cs
- CodeGen.cs
- SQLChars.cs
- PathSegmentCollection.cs
- PeerName.cs
- PagerSettings.cs
- ServiceModelEnhancedConfigurationElementCollection.cs
- PreviewPrintController.cs
- ToolStripRendererSwitcher.cs
- TypeUsage.cs
- ConfigXmlReader.cs
- TrackBar.cs
- ApplicationSettingsBase.cs
- HandlerMappingMemo.cs
- MenuEventArgs.cs
- ArrayList.cs
- DebugTracing.cs
- AlphaSortedEnumConverter.cs
- DataObjectEventArgs.cs
- TemplatePropertyEntry.cs
- IndentedWriter.cs
- ControlCachePolicy.cs
- XamlReaderHelper.cs
- RunClient.cs
- ApplicationFileParser.cs
- CodeCatchClauseCollection.cs
- CustomSignedXml.cs
- ToolBarPanel.cs
- FormsAuthenticationConfiguration.cs
- FontNamesConverter.cs
- _RequestLifetimeSetter.cs
- Border.cs
- VisualStateManager.cs
- RegexRunnerFactory.cs
- SapiInterop.cs
- PaginationProgressEventArgs.cs
- RenderData.cs
- EncryptedType.cs
- ViewLoader.cs
- FormsAuthentication.cs
- Trigger.cs
- MaterialGroup.cs
- XamlSerializerUtil.cs
- ResourceReferenceExpression.cs
- LambdaCompiler.cs
- SpinWait.cs
- ChannelOptions.cs
- XpsS0ValidatingLoader.cs
- TransformGroup.cs
- RemotingServices.cs
- SmiTypedGetterSetter.cs
- FixedSOMImage.cs
- ComponentCollection.cs
- ProcessHostFactoryHelper.cs
- DataGridColumnHeaderItemAutomationPeer.cs
- TaiwanCalendar.cs
- SelectedGridItemChangedEvent.cs
- CodeSnippetTypeMember.cs
- ProfilePropertyNameValidator.cs
- EntityStoreSchemaGenerator.cs
- invalidudtexception.cs
- TagMapCollection.cs
- DropTarget.cs
- DescendantQuery.cs
- DataSpaceManager.cs
- BaseCollection.cs
- SelectionItemPatternIdentifiers.cs
- ObjectMemberMapping.cs
- BufferModesCollection.cs
- StorageConditionPropertyMapping.cs
- CompilationLock.cs
- BuiltInExpr.cs
- MulticastOption.cs
- _LoggingObject.cs
- VarRemapper.cs
- HttpProfileBase.cs
- dataprotectionpermissionattribute.cs
- UrlMappingsModule.cs
- WmlCommandAdapter.cs
- odbcmetadatacollectionnames.cs
- Dictionary.cs
- RealizationDrawingContextWalker.cs
- SimpleTextLine.cs
- ProviderException.cs
- ConditionChanges.cs
- AssemblySettingAttributes.cs