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
- MeasureItemEvent.cs
- Latin1Encoding.cs
- TextStore.cs
- WindowProviderWrapper.cs
- ListViewContainer.cs
- AdornerPresentationContext.cs
- ThicknessAnimation.cs
- Converter.cs
- XmlEntityReference.cs
- EditingScopeUndoUnit.cs
- Registry.cs
- CodeSnippetTypeMember.cs
- OleDbErrorCollection.cs
- ListViewGroup.cs
- IChannel.cs
- DbSetClause.cs
- PrincipalPermission.cs
- _NegoState.cs
- Volatile.cs
- TypeUsageBuilder.cs
- QueueNameHelper.cs
- ListView.cs
- ProcessThreadDesigner.cs
- TableLayoutColumnStyleCollection.cs
- DataGridViewRowEventArgs.cs
- BamlLocalizabilityResolver.cs
- Pens.cs
- COM2PropertyPageUITypeConverter.cs
- odbcmetadatafactory.cs
- ArgumentsParser.cs
- RubberbandSelector.cs
- TargetControlTypeCache.cs
- CompressionTracing.cs
- TemplateParser.cs
- ReferenceEqualityComparer.cs
- TemplateControlParser.cs
- ListViewTableRow.cs
- DataGridViewRowHeaderCell.cs
- FilterEventArgs.cs
- SiteMapProvider.cs
- GlyphRun.cs
- CalendarData.cs
- ObjectQuery.cs
- BatchServiceHost.cs
- ColumnBinding.cs
- MethodBody.cs
- HttpHeaderCollection.cs
- VisualBrush.cs
- CustomValidator.cs
- TreeViewAutomationPeer.cs
- BamlResourceDeserializer.cs
- HttpRequestWrapper.cs
- ObjectRef.cs
- DispatcherEventArgs.cs
- HotSpotCollection.cs
- JsonReaderDelegator.cs
- ByteKeyFrameCollection.cs
- Claim.cs
- InfoCardRSACryptoProvider.cs
- ToolStripDropDownClosedEventArgs.cs
- PhysicalAddress.cs
- TrackingMemoryStreamFactory.cs
- ExtendedProtectionPolicyTypeConverter.cs
- CapacityStreamGeometryContext.cs
- ArgIterator.cs
- PolicyValidationException.cs
- SqlRecordBuffer.cs
- CollectionEditorDialog.cs
- MessageEventSubscriptionService.cs
- Configuration.cs
- ToggleButton.cs
- updatecommandorderer.cs
- UrlPath.cs
- DataGridHelper.cs
- BackgroundFormatInfo.cs
- httpserverutility.cs
- ComboBox.cs
- LineServicesCallbacks.cs
- HandlerMappingMemo.cs
- ProfileModule.cs
- TableItemStyle.cs
- OracleConnectionStringBuilder.cs
- LinearKeyFrames.cs
- Quaternion.cs
- FileDataSourceCache.cs
- SchemaImporterExtensionsSection.cs
- XmlDeclaration.cs
- StylusPointDescription.cs
- AssemblyAssociatedContentFileAttribute.cs
- LambdaCompiler.Lambda.cs
- Calendar.cs
- Compress.cs
- NativeMethodsOther.cs
- ListViewDesigner.cs
- TraceFilter.cs
- ReliableRequestSessionChannel.cs
- MethodBody.cs
- XmlSchemaDocumentation.cs
- PopupRootAutomationPeer.cs
- Utility.cs