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
- NotifyParentPropertyAttribute.cs
- WorkflowViewStateService.cs
- ProcessHostServerConfig.cs
- ContextMenu.cs
- Section.cs
- FileDialog_Vista.cs
- Vector3D.cs
- RegexTree.cs
- ScriptIgnoreAttribute.cs
- VolatileResourceManager.cs
- CngKeyCreationParameters.cs
- RenamedEventArgs.cs
- TextOptions.cs
- MyContact.cs
- ClientTarget.cs
- GenericEnumerator.cs
- FilterableData.cs
- WorkflowValidationFailedException.cs
- BufferedWebEventProvider.cs
- MailDefinition.cs
- SchemaMapping.cs
- GeneralTransformGroup.cs
- MiniAssembly.cs
- Mapping.cs
- BindingGroup.cs
- UniqueEventHelper.cs
- UnknownWrapper.cs
- CompressStream.cs
- MobileControlBuilder.cs
- OutputCacheProfileCollection.cs
- FtpCachePolicyElement.cs
- MSAANativeProvider.cs
- FacetChecker.cs
- WebScriptClientGenerator.cs
- ActivationArguments.cs
- PartialToken.cs
- DependencyObject.cs
- Splitter.cs
- Subtree.cs
- QuestionEventArgs.cs
- InlineCollection.cs
- DependencyPropertyKey.cs
- CatalogZoneDesigner.cs
- StringHandle.cs
- SelectionEditingBehavior.cs
- _SslStream.cs
- ListControlConvertEventArgs.cs
- SqlMethods.cs
- WebPartDisplayModeEventArgs.cs
- FixedPosition.cs
- CommandArguments.cs
- PolyLineSegmentFigureLogic.cs
- ReachVisualSerializer.cs
- PageEventArgs.cs
- Converter.cs
- ConfigXmlWhitespace.cs
- formatstringdialog.cs
- Vector3DAnimation.cs
- DataGridViewDataConnection.cs
- ScrollChrome.cs
- TableAutomationPeer.cs
- PriorityQueue.cs
- IndentedWriter.cs
- OptimizedTemplateContent.cs
- FunctionCommandText.cs
- HatchBrush.cs
- SimpleTextLine.cs
- DataListItemCollection.cs
- EncryptedData.cs
- FrameworkElementAutomationPeer.cs
- TableCell.cs
- WinFormsSecurity.cs
- DiscardableAttribute.cs
- DbCommandDefinition.cs
- EventLevel.cs
- XmlILAnnotation.cs
- UnsafeMethods.cs
- ActivityDesignerHighlighter.cs
- Table.cs
- GraphicsState.cs
- TrackPointCollection.cs
- GACMembershipCondition.cs
- RelationshipConverter.cs
- UserControlParser.cs
- HandleCollector.cs
- Match.cs
- DocumentPageViewAutomationPeer.cs
- httpserverutility.cs
- UITypeEditor.cs
- ContextInformation.cs
- VarRefManager.cs
- CommandBindingCollection.cs
- BitmapFrameDecode.cs
- StructuredTypeEmitter.cs
- PerspectiveCamera.cs
- WindowAutomationPeer.cs
- AdornerPresentationContext.cs
- HttpWebResponse.cs
- StandardCommands.cs
- UnaryNode.cs