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
- RuleInfoComparer.cs
- Collection.cs
- Margins.cs
- DefaultValueTypeConverter.cs
- FieldToken.cs
- JournalNavigationScope.cs
- TextMetrics.cs
- WebBrowsableAttribute.cs
- RoleProviderPrincipal.cs
- Internal.cs
- XNodeNavigator.cs
- connectionpool.cs
- Int32Collection.cs
- DocumentOrderComparer.cs
- QilList.cs
- HttpCapabilitiesEvaluator.cs
- MemberRelationshipService.cs
- InputEventArgs.cs
- Executor.cs
- AsyncPostBackTrigger.cs
- UniqueIdentifierService.cs
- FormViewPagerRow.cs
- InstanceNormalEvent.cs
- RuntimeArgumentHandle.cs
- DataControlCommands.cs
- MeasureItemEvent.cs
- CodeSnippetTypeMember.cs
- ValidatorCollection.cs
- WebPartCatalogAddVerb.cs
- TriggerAction.cs
- BidPrivateBase.cs
- ListViewUpdatedEventArgs.cs
- IOThreadTimer.cs
- SymbolMethod.cs
- PersonalizationState.cs
- HtmlLink.cs
- DependentList.cs
- TriggerCollection.cs
- XmlnsCompatibleWithAttribute.cs
- TemplateBindingExpression.cs
- ReadOnlyDataSource.cs
- CompressStream.cs
- TypeDescriptionProvider.cs
- cookieexception.cs
- WindowsClaimSet.cs
- InvalidOperationException.cs
- XmlObjectSerializerWriteContextComplex.cs
- DefaultShape.cs
- ServerType.cs
- DataGridViewCheckBoxColumn.cs
- IgnoreSectionHandler.cs
- InstanceDescriptor.cs
- SynchronousChannelMergeEnumerator.cs
- String.cs
- LayoutTable.cs
- X509WindowsSecurityToken.cs
- CharacterShapingProperties.cs
- Hyperlink.cs
- DefaultAssemblyResolver.cs
- WebResponse.cs
- DrawingCollection.cs
- ObjectIDGenerator.cs
- RefreshPropertiesAttribute.cs
- RuleSettings.cs
- SerialReceived.cs
- WizardStepBase.cs
- ReferencedAssembly.cs
- SQLCharsStorage.cs
- AuthenticationModuleElement.cs
- TypeLibConverter.cs
- XmlnsCache.cs
- SafeNativeMethods.cs
- XamlStream.cs
- CheckBoxStandardAdapter.cs
- FlowLayoutPanel.cs
- AssemblyName.cs
- RC2.cs
- KeyValueInternalCollection.cs
- RepeatBehavior.cs
- FindCriteriaCD1.cs
- WeakReferenceEnumerator.cs
- DeviceContext2.cs
- XmlParser.cs
- DataSourceSelectArguments.cs
- DynamicActionMessageFilter.cs
- Boolean.cs
- LongValidatorAttribute.cs
- PnrpPermission.cs
- RequiredAttributeAttribute.cs
- ProfileEventArgs.cs
- EdmComplexTypeAttribute.cs
- CaseStatement.cs
- DescendentsWalker.cs
- NameTable.cs
- OutputCacheSection.cs
- UIElementCollection.cs
- EntityDataSourceReferenceGroup.cs
- RepeaterItem.cs
- FilteredDataSetHelper.cs
- LogWriteRestartAreaAsyncResult.cs