Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / ndp / fx / src / DataEntity / System / Data / EntityModel / SchemaObjectModel / SchemaElementLookUpTable.cs / 1 / 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
- IfJoinedCondition.cs
- ThreadAttributes.cs
- InstancePersistence.cs
- DataControlImageButton.cs
- CustomPopupPlacement.cs
- wmiutil.cs
- Rule.cs
- XmlBinaryReader.cs
- AsymmetricKeyExchangeDeformatter.cs
- QuaternionAnimation.cs
- IntegerFacetDescriptionElement.cs
- ListViewUpdateEventArgs.cs
- DynamicMetaObject.cs
- CqlQuery.cs
- TextParaLineResult.cs
- ImageBrush.cs
- GeometryCombineModeValidation.cs
- SqlDataSourceAdvancedOptionsForm.cs
- WebPartEditorCancelVerb.cs
- DataServiceConfiguration.cs
- SiteMapNodeItem.cs
- HttpProcessUtility.cs
- TextWriterEngine.cs
- GridViewRowPresenterBase.cs
- ConditionalWeakTable.cs
- OrderPreservingPipeliningSpoolingTask.cs
- ImageEditor.cs
- MatrixTransform.cs
- TextDecorationCollection.cs
- SimpleHandlerBuildProvider.cs
- ComplexTypeEmitter.cs
- TextDecorationCollection.cs
- ImageEditor.cs
- PageContent.cs
- DummyDataSource.cs
- COM2ICategorizePropertiesHandler.cs
- SoapFault.cs
- FormatterServices.cs
- SmtpCommands.cs
- WindowsStatic.cs
- ApplicationInfo.cs
- PropertyDescriptorCollection.cs
- ServiceOperationInfoTypeConverter.cs
- ShaderEffect.cs
- SqlError.cs
- ETagAttribute.cs
- SoapObjectWriter.cs
- HttpCapabilitiesEvaluator.cs
- AnimationTimeline.cs
- DocumentGridContextMenu.cs
- DelegateSerializationHolder.cs
- PropertyManager.cs
- ErrorProvider.cs
- TabControl.cs
- ToolboxBitmapAttribute.cs
- InheritedPropertyChangedEventArgs.cs
- TextCompositionManager.cs
- SoapSchemaMember.cs
- DataGridViewButtonCell.cs
- ThicknessAnimationUsingKeyFrames.cs
- GetPageNumberCompletedEventArgs.cs
- IgnoreSectionHandler.cs
- ContentType.cs
- XPathConvert.cs
- SafeFileHandle.cs
- HtmlTableCell.cs
- Point3DCollection.cs
- GetPageCompletedEventArgs.cs
- ExtendedPropertyDescriptor.cs
- ErrorActivity.cs
- MessageQueuePermissionAttribute.cs
- XmlSchemaObjectTable.cs
- WebPartZoneCollection.cs
- StorageBasedPackageProperties.cs
- ListViewDesigner.cs
- SynchronizingStream.cs
- PropertyValueChangedEvent.cs
- UserControlCodeDomTreeGenerator.cs
- OleDbStruct.cs
- EndEvent.cs
- IChannel.cs
- IItemContainerGenerator.cs
- InvalidOperationException.cs
- PageCodeDomTreeGenerator.cs
- AbandonedMutexException.cs
- SpotLight.cs
- FuncTypeConverter.cs
- KerberosTicketHashIdentifierClause.cs
- DynamicDiscoSearcher.cs
- ProvidePropertyAttribute.cs
- CssTextWriter.cs
- VirtualDirectoryMappingCollection.cs
- SparseMemoryStream.cs
- DataSourceCache.cs
- ConfigurationLoaderException.cs
- DispatcherEventArgs.cs
- SmtpClient.cs
- ProcessInputEventArgs.cs
- ResourceType.cs
- RemoteWebConfigurationHostStream.cs