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
- MainMenu.cs
- Convert.cs
- ContentIterators.cs
- Msec.cs
- XmlDownloadManager.cs
- AnnotationStore.cs
- RtfToXamlReader.cs
- SoapSchemaMember.cs
- RegexInterpreter.cs
- ReadOnlyDataSource.cs
- ConnectionStringSettings.cs
- FirstMatchCodeGroup.cs
- WindowsNonControl.cs
- InvalidMessageContractException.cs
- Mutex.cs
- ServiceHostingEnvironment.cs
- PixelShader.cs
- IImplicitResourceProvider.cs
- TraversalRequest.cs
- ContainerActivationHelper.cs
- DurableInstance.cs
- PageBuildProvider.cs
- ListBase.cs
- WindowsSpinner.cs
- TableItemPatternIdentifiers.cs
- AnimationStorage.cs
- ImageIndexConverter.cs
- WindowsTokenRoleProvider.cs
- WebServiceHost.cs
- ViewCellSlot.cs
- VariableQuery.cs
- FileLevelControlBuilderAttribute.cs
- CellCreator.cs
- SmiEventStream.cs
- FileIOPermission.cs
- OperationFormatStyle.cs
- QuaternionAnimation.cs
- IsolationInterop.cs
- Header.cs
- SmiXetterAccessMap.cs
- ExceptionList.cs
- CompositeKey.cs
- HMACSHA256.cs
- DropShadowBitmapEffect.cs
- WhitespaceRuleLookup.cs
- XmlNavigatorStack.cs
- InertiaExpansionBehavior.cs
- BitmapEffectInputData.cs
- DocumentViewer.cs
- LoadRetryAsyncResult.cs
- TCEAdapterGenerator.cs
- InteropAutomationProvider.cs
- CodePageUtils.cs
- _SslStream.cs
- XPathPatternBuilder.cs
- RangeValidator.cs
- FilteredAttributeCollection.cs
- DataConnectionHelper.cs
- VectorValueSerializer.cs
- Calendar.cs
- CodeCatchClause.cs
- AssemblyAttributesGoHere.cs
- autovalidator.cs
- WebPartEditorCancelVerb.cs
- ServerReliableChannelBinder.cs
- OperatorExpressions.cs
- HtmlInputText.cs
- XmlReturnWriter.cs
- DataSourceXmlSerializationAttribute.cs
- DocumentViewerAutomationPeer.cs
- StructuredTypeEmitter.cs
- ContentValidator.cs
- ExclusiveTcpListener.cs
- DecimalAverageAggregationOperator.cs
- TextSimpleMarkerProperties.cs
- BrowserCapabilitiesFactory35.cs
- XPathQueryGenerator.cs
- XmlRawWriterWrapper.cs
- ServiceReference.cs
- _SSPIWrapper.cs
- UriTemplateTrieNode.cs
- SmtpCommands.cs
- MoveSizeWinEventHandler.cs
- BufferBuilder.cs
- HtmlInputPassword.cs
- PropertyIDSet.cs
- ObjectPersistData.cs
- ToolStripSeparator.cs
- StrokeNodeOperations2.cs
- WindowsBrush.cs
- ReadWriteSpinLock.cs
- SchemaMerger.cs
- CodeIdentifier.cs
- hwndwrapper.cs
- QilDataSource.cs
- CodeAttachEventStatement.cs
- ChannelDispatcherCollection.cs
- EncoderExceptionFallback.cs
- PageRequestManager.cs
- HttpDictionary.cs