Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Metadata / Edm / CollectionType.cs / 1305376 / CollectionType.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Data.Common; using System.Text; namespace System.Data.Metadata.Edm { ////// Represents the Edm Collection Type /// public sealed class CollectionType : EdmType { #region Constructors ////// The constructor for constructing a CollectionType object with the element type it contains /// /// The element type that this collection type contains ///Thrown if the argument elementType is null internal CollectionType(EdmType elementType) : this(TypeUsage.Create(elementType)) { this.DataSpace = elementType.DataSpace; } ////// The constructor for constructing a CollectionType object with the element type (as a TypeUsage) it contains /// /// The element type that this collection type contains ///Thrown if the argument elementType is null internal CollectionType(TypeUsage elementType) : base(GetIdentity(EntityUtil.GenericCheckArgumentNull(elementType, "elementType")), EdmConstants.TransientNamespace, elementType.EdmType.DataSpace) { _typeUsage = elementType; SetReadOnly(); } #endregion #region Fields private readonly TypeUsage _typeUsage; #endregion #region Properties ////// Returns the kind of the type /// public override BuiltInTypeKind BuiltInTypeKind { get { return BuiltInTypeKind.CollectionType; } } ////// The type of the element that this collection type contains /// [MetadataProperty(BuiltInTypeKind.TypeUsage, false)] public TypeUsage TypeUsage { get { return _typeUsage; } } #endregion #region Methods ////// Constructs the name of the collection type /// /// The typeusage for the element type that this collection type refers to ///The identity of the resulting collection type private static string GetIdentity(TypeUsage typeUsage) { StringBuilder builder = new StringBuilder(50); builder.Append("collection["); typeUsage.BuildIdentity(builder); builder.Append("]"); return builder.ToString(); } ////// Override EdmEquals to support value comparison of TypeUsage property /// /// ///internal override bool EdmEquals(MetadataItem item) { // short-circuit if this and other are reference equivalent if (Object.ReferenceEquals(this, item)) { return true; } // check type of item if (null == item || BuiltInTypeKind.CollectionType != item.BuiltInTypeKind) { return false; } CollectionType other = (CollectionType)item; // compare type usage return this.TypeUsage.EdmEquals(other.TypeUsage); } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CachedPathData.cs
- SharedUtils.cs
- WebPermission.cs
- TemplateField.cs
- DomainConstraint.cs
- PartitionedDataSource.cs
- ConcurrentDictionary.cs
- CacheModeConverter.cs
- SpotLight.cs
- RemoteWebConfigurationHostServer.cs
- StoreUtilities.cs
- WebScriptEnablingBehavior.cs
- Light.cs
- RemotingException.cs
- FormatVersion.cs
- HttpRequestBase.cs
- WebCategoryAttribute.cs
- FactoryGenerator.cs
- VisualStateChangedEventArgs.cs
- VerificationException.cs
- ArglessEventHandlerProxy.cs
- UnsafePeerToPeerMethods.cs
- CopyNamespacesAction.cs
- FormsAuthenticationModule.cs
- FrameworkContentElementAutomationPeer.cs
- LineVisual.cs
- sqlcontext.cs
- StreamAsIStream.cs
- WindowsToolbar.cs
- PropertyEntry.cs
- SizeConverter.cs
- SpecialFolderEnumConverter.cs
- EntityDataSourceWrapper.cs
- ListItemConverter.cs
- OuterGlowBitmapEffect.cs
- XmlSignificantWhitespace.cs
- WebResourceUtil.cs
- HorizontalAlignConverter.cs
- UnmanagedMemoryStreamWrapper.cs
- XmlSchemaSequence.cs
- CallbackValidator.cs
- CryptoApi.cs
- Imaging.cs
- X509UI.cs
- ConstNode.cs
- PropagatorResult.cs
- NativeObjectSecurity.cs
- Container.cs
- PersonalizationProviderCollection.cs
- TextEndOfParagraph.cs
- remotingproxy.cs
- ViewLoader.cs
- WsatAdminException.cs
- XPathNodeHelper.cs
- QueryModel.cs
- _SslState.cs
- ColorConvertedBitmap.cs
- CompilationUtil.cs
- XslCompiledTransform.cs
- ToolStripItemGlyph.cs
- Menu.cs
- DefaultPropertyAttribute.cs
- SplashScreen.cs
- ActivityLocationReferenceEnvironment.cs
- DrawingAttributes.cs
- CompilationLock.cs
- GorillaCodec.cs
- URLAttribute.cs
- Enlistment.cs
- HashAlgorithm.cs
- LinkLabel.cs
- Triangle.cs
- NativeMethods.cs
- MethodToken.cs
- XmlSchemaGroup.cs
- DataTableReader.cs
- MetabaseSettingsIis7.cs
- SqlDataSourceCommandEventArgs.cs
- TableRow.cs
- StorageFunctionMapping.cs
- CounterNameConverter.cs
- JournalEntryListConverter.cs
- OutKeywords.cs
- MimeTypePropertyAttribute.cs
- UndirectedGraph.cs
- CodeRemoveEventStatement.cs
- Block.cs
- AlternateView.cs
- AsyncOperation.cs
- ErrorRuntimeConfig.cs
- StylusPointDescription.cs
- ImageMapEventArgs.cs
- ServiceMemoryGates.cs
- HyperLinkStyle.cs
- XmlNodeList.cs
- SystemResourceHost.cs
- WaitHandle.cs
- MultipartIdentifier.cs
- FollowerQueueCreator.cs
- SiteOfOriginPart.cs