Code:
/ 4.0 / 4.0 / untmp / 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
- DataBinding.cs
- WebPartAddingEventArgs.cs
- HeaderedContentControl.cs
- _FtpControlStream.cs
- EncryptedReference.cs
- processwaithandle.cs
- InvokeSchedule.cs
- DeriveBytes.cs
- Point3DConverter.cs
- NullableFloatSumAggregationOperator.cs
- DependencyObjectType.cs
- PropertyDescriptor.cs
- DataGridViewCheckBoxCell.cs
- RoleGroupCollection.cs
- ReturnValue.cs
- UTF7Encoding.cs
- DelegateHelpers.Generated.cs
- COM2DataTypeToManagedDataTypeConverter.cs
- CustomValidator.cs
- HttpFileCollection.cs
- XmlSchemaException.cs
- BaseParser.cs
- SocketPermission.cs
- VirtualPathProvider.cs
- SevenBitStream.cs
- CursorInteropHelper.cs
- _Win32.cs
- ThemeInfoAttribute.cs
- DataChangedEventManager.cs
- NullRuntimeConfig.cs
- StringExpressionSet.cs
- SimpleWorkerRequest.cs
- ConditionalWeakTable.cs
- XPathSelfQuery.cs
- messageonlyhwndwrapper.cs
- SchemaTableColumn.cs
- ForEachDesigner.xaml.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- Input.cs
- _ScatterGatherBuffers.cs
- EllipseGeometry.cs
- uribuilder.cs
- SchemaElementDecl.cs
- Geometry3D.cs
- MaskedTextProvider.cs
- ContextProperty.cs
- SqlBooleanizer.cs
- TimeStampChecker.cs
- WindowPattern.cs
- UserControlCodeDomTreeGenerator.cs
- ConnectionPointConverter.cs
- MdiWindowListItemConverter.cs
- QilChoice.cs
- activationcontext.cs
- DataExchangeServiceBinder.cs
- ExpressionVisitor.cs
- KeyboardNavigation.cs
- InfoCardRSACryptoProvider.cs
- ProxyGenerationError.cs
- CompilerState.cs
- Camera.cs
- DocumentViewerConstants.cs
- ApplicationTrust.cs
- MoveSizeWinEventHandler.cs
- HMACMD5.cs
- InputScopeAttribute.cs
- DebugHandleTracker.cs
- DataControlCommands.cs
- Int16Storage.cs
- DocumentSequenceHighlightLayer.cs
- InlineUIContainer.cs
- ChannelBinding.cs
- CircleHotSpot.cs
- WindowsClientCredential.cs
- GeneralTransformCollection.cs
- EntityDataSourceUtil.cs
- SqlReorderer.cs
- JournalEntryStack.cs
- IntegrationExceptionEventArgs.cs
- TableRow.cs
- ErrorTableItemStyle.cs
- EventHandlerService.cs
- CharacterHit.cs
- BuildManager.cs
- LocalizableAttribute.cs
- AssemblyHash.cs
- CultureMapper.cs
- ContentPresenter.cs
- HostProtectionException.cs
- WebEvents.cs
- ConfigurationSchemaErrors.cs
- BitmapEffectState.cs
- PeerNameRecordCollection.cs
- DesignerActionUI.cs
- FlowDocumentPageViewerAutomationPeer.cs
- ConstraintStruct.cs
- OperationFormatter.cs
- FileChangesMonitor.cs
- StylusOverProperty.cs
- NotifyParentPropertyAttribute.cs