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
- TextParagraphView.cs
- xsdvalidator.cs
- ColumnHeaderConverter.cs
- SQLDecimalStorage.cs
- BinHexDecoder.cs
- DataError.cs
- LocalBuilder.cs
- Avt.cs
- RichTextBoxAutomationPeer.cs
- EngineSite.cs
- ObjectDataSourceEventArgs.cs
- HScrollBar.cs
- WebPartConnectionsEventArgs.cs
- HttpCapabilitiesBase.cs
- UInt64.cs
- ContentElementAutomationPeer.cs
- ListViewGroupConverter.cs
- CqlQuery.cs
- GeometryGroup.cs
- Parameter.cs
- XmlSchemaSimpleType.cs
- AutoGeneratedField.cs
- TextFragmentEngine.cs
- SecurityPermission.cs
- Win32PrintDialog.cs
- DataGridViewCellStateChangedEventArgs.cs
- NumberSubstitution.cs
- AttachmentCollection.cs
- CompileXomlTask.cs
- SelectionProviderWrapper.cs
- WebControlAdapter.cs
- Variant.cs
- ISFClipboardData.cs
- BatchParser.cs
- DataBoundLiteralControl.cs
- GridViewAutoFormat.cs
- HwndHostAutomationPeer.cs
- _NtlmClient.cs
- WebServiceTypeData.cs
- ViewManager.cs
- EntityContainer.cs
- FrameworkElement.cs
- DependentTransaction.cs
- KnownColorTable.cs
- NetTcpSectionData.cs
- WorkflowEventArgs.cs
- XsltArgumentList.cs
- NonClientArea.cs
- Size.cs
- VirtualizedContainerService.cs
- UrlMappingCollection.cs
- GB18030Encoding.cs
- PolyBezierSegment.cs
- XmlSchemaValidationException.cs
- PolicyException.cs
- DescendentsWalker.cs
- Boolean.cs
- StrokeCollection2.cs
- PageCodeDomTreeGenerator.cs
- BindingContext.cs
- DashStyle.cs
- ToolStripItemImageRenderEventArgs.cs
- DaylightTime.cs
- ResourceIDHelper.cs
- JsonSerializer.cs
- RedistVersionInfo.cs
- DateTimePickerDesigner.cs
- DataGridViewSelectedRowCollection.cs
- WindowsGraphics2.cs
- ReadContentAsBinaryHelper.cs
- SizeKeyFrameCollection.cs
- TextServicesPropertyRanges.cs
- AttributeCollection.cs
- PartitionedDataSource.cs
- StylusOverProperty.cs
- Int32CollectionValueSerializer.cs
- Lease.cs
- WindowsFormsLinkLabel.cs
- TextFormatter.cs
- StatusBarDrawItemEvent.cs
- GPPOINTF.cs
- XmlStreamNodeWriter.cs
- NativeCompoundFileAPIs.cs
- ChannelDemuxer.cs
- LinearGradientBrush.cs
- Panel.cs
- DesignerObjectListAdapter.cs
- GridViewDeletedEventArgs.cs
- PrincipalPermission.cs
- GifBitmapEncoder.cs
- XmlSchemaInferenceException.cs
- FtpCachePolicyElement.cs
- AutomationElementIdentifiers.cs
- LambdaCompiler.Generated.cs
- Accessible.cs
- DataSourceCollectionBase.cs
- LogicalExpr.cs
- DataTrigger.cs
- FlowDocumentFormatter.cs
- XmlBoundElement.cs