Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataEntity / System / Data / Metadata / Edm / CollectionType.cs / 2 / CollectionType.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....], [....] //--------------------------------------------------------------------- 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. //---------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....], [....] //--------------------------------------------------------------------- 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
- HMACSHA256.cs
- VerificationAttribute.cs
- RectAnimationUsingKeyFrames.cs
- ComponentChangedEvent.cs
- TrustLevel.cs
- GridViewDeleteEventArgs.cs
- TimeSpan.cs
- ADMembershipProvider.cs
- HyperLink.cs
- Bold.cs
- SerializationSectionGroup.cs
- MenuCommands.cs
- ObjectView.cs
- ListDesigner.cs
- TokenBasedSet.cs
- ProcessInfo.cs
- FunctionGenerator.cs
- SystemFonts.cs
- HtmlHead.cs
- EdmProperty.cs
- ByteBufferPool.cs
- NoClickablePointException.cs
- MimeMapping.cs
- AstTree.cs
- ColorContext.cs
- SqlStatistics.cs
- SqlTopReducer.cs
- __Error.cs
- AuthenticationConfig.cs
- TrackBarRenderer.cs
- PeerTransportSecurityElement.cs
- GeometryGroup.cs
- XPathItem.cs
- LateBoundBitmapDecoder.cs
- Column.cs
- RoleManagerModule.cs
- SmiContext.cs
- RequestQueryParser.cs
- EntityPropertyMappingAttribute.cs
- ToolZone.cs
- Win32SafeHandles.cs
- ByteAnimation.cs
- WebPartDisplayMode.cs
- ClientType.cs
- DrawingAttributeSerializer.cs
- updatecommandorderer.cs
- PropertyChangeTracker.cs
- Int32RectValueSerializer.cs
- HijriCalendar.cs
- ScriptServiceAttribute.cs
- RegistryExceptionHelper.cs
- CodeActivity.cs
- Path.cs
- WCFModelStrings.Designer.cs
- Enlistment.cs
- TextSelectionHelper.cs
- SamlEvidence.cs
- WebPartEditorOkVerb.cs
- SelectorAutomationPeer.cs
- XDeferredAxisSource.cs
- VectorCollection.cs
- HttpModuleCollection.cs
- DetailsViewPageEventArgs.cs
- SimpleWebHandlerParser.cs
- HwndSourceKeyboardInputSite.cs
- BezierSegment.cs
- Classification.cs
- StatusBar.cs
- ScrollViewer.cs
- NonBatchDirectoryCompiler.cs
- DrawListViewItemEventArgs.cs
- ScriptManagerProxy.cs
- MessageDecoder.cs
- PixelShader.cs
- CompilerTypeWithParams.cs
- SizeValueSerializer.cs
- BaseHashHelper.cs
- FixedSOMTable.cs
- OAVariantLib.cs
- FunctionMappingTranslator.cs
- QilFactory.cs
- PolicyManager.cs
- ComponentManagerBroker.cs
- Command.cs
- DbConnectionStringBuilder.cs
- ProfileSettings.cs
- SecurityPermission.cs
- Match.cs
- HeaderUtility.cs
- OutKeywords.cs
- HealthMonitoringSectionHelper.cs
- StructuralCache.cs
- CacheVirtualItemsEvent.cs
- ListViewGroupItemCollection.cs
- PersonalizationAdministration.cs
- XmlSchemaInferenceException.cs
- PeerNearMe.cs
- Native.cs
- WebSysDisplayNameAttribute.cs
- XamlFilter.cs