Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- StringResourceManager.cs
- ZipIOCentralDirectoryBlock.cs
- DynamicDocumentPaginator.cs
- HttpHostedTransportConfiguration.cs
- ClientScriptManagerWrapper.cs
- ArraySortHelper.cs
- Function.cs
- RegexMatchCollection.cs
- mediapermission.cs
- ValidatingReaderNodeData.cs
- CounterSample.cs
- DataGridColumnCollection.cs
- HttpHostedTransportConfiguration.cs
- CharacterShapingProperties.cs
- EnumMember.cs
- XmlEntityReference.cs
- DataGridToolTip.cs
- DataRecord.cs
- TextServicesLoader.cs
- UserControlAutomationPeer.cs
- ForeignKeyConstraint.cs
- Keyboard.cs
- PlanCompiler.cs
- ToolStripContainerActionList.cs
- GifBitmapDecoder.cs
- EtwProvider.cs
- SwitchCase.cs
- ActionFrame.cs
- DoubleStorage.cs
- BooleanFunctions.cs
- BitmapPalettes.cs
- TimeSpanSecondsConverter.cs
- TextRangeEditTables.cs
- Char.cs
- EdmEntityTypeAttribute.cs
- MultiTrigger.cs
- CatalogPart.cs
- DataSourceSerializationException.cs
- PositiveTimeSpanValidatorAttribute.cs
- HttpModuleAction.cs
- XsltConvert.cs
- CodeSubDirectoriesCollection.cs
- TableCellCollection.cs
- SrgsGrammar.cs
- SoapCodeExporter.cs
- DataGridItemEventArgs.cs
- ScriptResourceInfo.cs
- UpDownBase.cs
- StorageEntityContainerMapping.cs
- BinaryObjectInfo.cs
- ServiceOperation.cs
- UTF32Encoding.cs
- SourceInterpreter.cs
- PropertyValue.cs
- RemotingAttributes.cs
- SerializationHelper.cs
- ConfigurationLockCollection.cs
- TemplateComponentConnector.cs
- QilSortKey.cs
- ExecutionContext.cs
- RegexCharClass.cs
- OutOfProcStateClientManager.cs
- FindCriteriaElement.cs
- DelegateInArgument.cs
- WebPartsPersonalization.cs
- NameGenerator.cs
- ConfigViewGenerator.cs
- smtpconnection.cs
- AddInStore.cs
- BitStack.cs
- ModifierKeysValueSerializer.cs
- ScrollChrome.cs
- QilName.cs
- BooleanKeyFrameCollection.cs
- MethodRental.cs
- _NegoState.cs
- LinqDataView.cs
- NamespaceQuery.cs
- ApplicationId.cs
- SrgsItemList.cs
- DispatcherExceptionEventArgs.cs
- XmlDataSource.cs
- EpmCustomContentSerializer.cs
- PriorityChain.cs
- IIS7ConfigurationLoader.cs
- EmbossBitmapEffect.cs
- ToolStripArrowRenderEventArgs.cs
- SqlHelper.cs
- MessageSmuggler.cs
- IImplicitResourceProvider.cs
- DSASignatureDeformatter.cs
- GeneralTransform2DTo3D.cs
- MetadataPropertyvalue.cs
- MimeTypePropertyAttribute.cs
- DropShadowBitmapEffect.cs
- ByteAnimationUsingKeyFrames.cs
- GridEntryCollection.cs
- OneOfScalarConst.cs
- Point3DAnimationUsingKeyFrames.cs
- TransformationRules.cs