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
- ContextMenu.cs
- StickyNoteHelper.cs
- ListViewGroup.cs
- SizeAnimationClockResource.cs
- GroupDescription.cs
- JpegBitmapDecoder.cs
- NativeMethodsOther.cs
- CultureTable.cs
- HashLookup.cs
- XamlWrappingReader.cs
- ClientSideProviderDescription.cs
- MetadataCache.cs
- IPEndPoint.cs
- TextView.cs
- WizardForm.cs
- CodeTryCatchFinallyStatement.cs
- EmbossBitmapEffect.cs
- AndAlso.cs
- WorkflowMarkupSerializer.cs
- OutputScope.cs
- Condition.cs
- CapabilitiesState.cs
- HMACRIPEMD160.cs
- Size3DConverter.cs
- EmbeddedMailObjectsCollection.cs
- SharedUtils.cs
- TemplatingOptionsDialog.cs
- ReadOnlyKeyedCollection.cs
- AspCompat.cs
- ClientRuntimeConfig.cs
- UpdatableWrapper.cs
- Duration.cs
- LinearKeyFrames.cs
- SystemNetHelpers.cs
- XmlJsonWriter.cs
- TypeDelegator.cs
- UInt16Converter.cs
- IntPtr.cs
- Tuple.cs
- QilExpression.cs
- Latin1Encoding.cs
- ObjectKeyFrameCollection.cs
- SetStoryboardSpeedRatio.cs
- EventProvider.cs
- AttributeExtensions.cs
- WindowShowOrOpenTracker.cs
- SqlDataSourceStatusEventArgs.cs
- PeerInputChannelListener.cs
- HostingPreferredMapPath.cs
- CharEntityEncoderFallback.cs
- MDIControlStrip.cs
- HttpCapabilitiesSectionHandler.cs
- OutputCacheProfileCollection.cs
- CodeStatementCollection.cs
- DesignTimeVisibleAttribute.cs
- NullableFloatSumAggregationOperator.cs
- ToolStripPanel.cs
- EventSetter.cs
- VBIdentifierDesigner.xaml.cs
- AlignmentXValidation.cs
- PathGradientBrush.cs
- WebServiceEnumData.cs
- DeleteCardRequest.cs
- EdmScalarPropertyAttribute.cs
- KoreanLunisolarCalendar.cs
- InkCanvasInnerCanvas.cs
- SystemWebCachingSectionGroup.cs
- Component.cs
- ObjectListCommandCollection.cs
- OutputCacheProfileCollection.cs
- Touch.cs
- OdbcHandle.cs
- EvidenceTypeDescriptor.cs
- Translator.cs
- DiscoveryClient.cs
- UiaCoreApi.cs
- BindingWorker.cs
- ThicknessAnimationUsingKeyFrames.cs
- WebPartCatalogAddVerb.cs
- DateTimeConstantAttribute.cs
- DataGridViewDataErrorEventArgs.cs
- StoragePropertyMapping.cs
- SoapServerProtocol.cs
- PseudoWebRequest.cs
- DictionaryEntry.cs
- CopyNamespacesAction.cs
- AsmxEndpointPickerExtension.cs
- XmlAttributes.cs
- ViewStateException.cs
- BuildProviderCollection.cs
- Msec.cs
- TranslateTransform3D.cs
- ArrangedElement.cs
- ConnectionManagementSection.cs
- RemotingHelper.cs
- CellQuery.cs
- ContentFileHelper.cs
- ProjectionPlan.cs
- IResourceProvider.cs
- ExpressionParser.cs