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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DBSqlParserColumnCollection.cs
- WebPartEditorCancelVerb.cs
- keycontainerpermission.cs
- AvtEvent.cs
- SoapInteropTypes.cs
- NotEqual.cs
- ListBindableAttribute.cs
- DefaultMergeHelper.cs
- WebPartCancelEventArgs.cs
- DigitalSignature.cs
- PropVariant.cs
- CompiledIdentityConstraint.cs
- CommandManager.cs
- GridViewRow.cs
- CheckableControlBaseAdapter.cs
- CachedCompositeFamily.cs
- OpCellTreeNode.cs
- SrgsSubset.cs
- PreviewPrintController.cs
- ScriptBehaviorDescriptor.cs
- PublishLicense.cs
- ParsedAttributeCollection.cs
- DocumentViewerBaseAutomationPeer.cs
- HtmlInputHidden.cs
- XmlQueryContext.cs
- TextProviderWrapper.cs
- HierarchicalDataBoundControl.cs
- basecomparevalidator.cs
- ReturnValue.cs
- TextModifierScope.cs
- ExternalFile.cs
- Validator.cs
- _NestedMultipleAsyncResult.cs
- ArraySubsetEnumerator.cs
- Constants.cs
- Vector3DIndependentAnimationStorage.cs
- HebrewCalendar.cs
- ArglessEventHandlerProxy.cs
- SqlGenericUtil.cs
- DynamicDiscoveryDocument.cs
- MD5CryptoServiceProvider.cs
- BasicBrowserDialog.cs
- ObjectStorage.cs
- HashHelper.cs
- CellConstant.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- EncoderReplacementFallback.cs
- ResourceIDHelper.cs
- HandleCollector.cs
- AttributeQuery.cs
- OracleLob.cs
- Perspective.cs
- RequestCachePolicy.cs
- Border.cs
- SecurityTokenSerializer.cs
- LocalBuilder.cs
- HitTestParameters3D.cs
- AppSettingsSection.cs
- MonthCalendar.cs
- RequestCachePolicy.cs
- GridView.cs
- RichTextBox.cs
- ScriptMethodAttribute.cs
- DataBoundControl.cs
- SoapException.cs
- DocComment.cs
- OutputScopeManager.cs
- InternalConfigRoot.cs
- OrderByBuilder.cs
- DataObjectFieldAttribute.cs
- NativeMethods.cs
- CodeParameterDeclarationExpressionCollection.cs
- returneventsaver.cs
- XmlSchemaSequence.cs
- BinaryObjectInfo.cs
- FieldAccessException.cs
- Material.cs
- CustomCredentialPolicy.cs
- TrackingConditionCollection.cs
- MonitoringDescriptionAttribute.cs
- XamlStream.cs
- GridViewRowEventArgs.cs
- XmlStreamStore.cs
- TableItemProviderWrapper.cs
- LicenseProviderAttribute.cs
- ExpressionPrinter.cs
- BuildTopDownAttribute.cs
- UnsafeNativeMethodsTablet.cs
- BlockCollection.cs
- UnescapedXmlDiagnosticData.cs
- CounterSet.cs
- SecurityCriticalDataForSet.cs
- RuntimeHandles.cs
- documentsequencetextpointer.cs
- listitem.cs
- SystemDiagnosticsSection.cs
- JulianCalendar.cs
- DataControlFieldCell.cs
- OrderPreservingMergeHelper.cs
- DrawingContextWalker.cs