Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / DataEntity / System / Data / Metadata / Edm / CollectionType.cs / 3 / 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
- Rotation3DAnimationBase.cs
- Control.cs
- Identifier.cs
- BamlTreeNode.cs
- MenuCommand.cs
- AccessDataSource.cs
- Operator.cs
- DesignerView.cs
- DocumentSequenceHighlightLayer.cs
- ISAPIRuntime.cs
- FormViewModeEventArgs.cs
- InternalConfigSettingsFactory.cs
- WindowsSlider.cs
- DataPagerFieldItem.cs
- BindingsCollection.cs
- ScrollItemProviderWrapper.cs
- activationcontext.cs
- JsonCollectionDataContract.cs
- DeviceContext.cs
- GacUtil.cs
- IsolatedStoragePermission.cs
- ListViewItem.cs
- FrameworkTemplate.cs
- XslNumber.cs
- DbConvert.cs
- DataContractSet.cs
- ConfigUtil.cs
- TimeSpanValidatorAttribute.cs
- DataTableReaderListener.cs
- GenericUriParser.cs
- InternalControlCollection.cs
- OracleCommandBuilder.cs
- TreeViewImageKeyConverter.cs
- WmfPlaceableFileHeader.cs
- AlignmentXValidation.cs
- _ShellExpression.cs
- GraphicsPath.cs
- ParentUndoUnit.cs
- MessagePropertyVariants.cs
- WSTransactionSection.cs
- VersionPair.cs
- TreeSet.cs
- Debugger.cs
- TextFindEngine.cs
- RangeBase.cs
- reliableinputsessionchannel.cs
- NullableLongSumAggregationOperator.cs
- RouteTable.cs
- EqualityComparer.cs
- DynamicDataExtensions.cs
- TaskFormBase.cs
- ConfigXmlCDataSection.cs
- ToolStripDropDown.cs
- TimeEnumHelper.cs
- NameTable.cs
- DoubleUtil.cs
- MailMessageEventArgs.cs
- BitmapCacheBrush.cs
- X509Utils.cs
- SerializableAttribute.cs
- ResolvePPIDRequest.cs
- HtmlProps.cs
- PersonalizationProviderCollection.cs
- SqlDataSourceQueryEditorForm.cs
- DesignerSerializationOptionsAttribute.cs
- ComboBoxDesigner.cs
- OrderByBuilder.cs
- SaveFileDialog.cs
- RectangleHotSpot.cs
- _LoggingObject.cs
- ExeContext.cs
- SqlNotificationRequest.cs
- TemplateBindingExtension.cs
- KoreanCalendar.cs
- CreatingCookieEventArgs.cs
- DataGridCommandEventArgs.cs
- HandlerFactoryCache.cs
- LinkLabel.cs
- DynamicValueConverter.cs
- WebPartAuthorizationEventArgs.cs
- DetailsViewCommandEventArgs.cs
- IssuanceLicense.cs
- MarkupProperty.cs
- PlanCompilerUtil.cs
- BindingMAnagerBase.cs
- validationstate.cs
- ReadOnlyDataSourceView.cs
- QueryLifecycle.cs
- XPathDocument.cs
- BitFlagsGenerator.cs
- ToolStripStatusLabel.cs
- ModelTreeManager.cs
- SelectionChangedEventArgs.cs
- CompModHelpers.cs
- PeerReferralPolicy.cs
- QilTargetType.cs
- DynamicResourceExtension.cs
- HttpContext.cs
- SecurityContextTokenValidationException.cs
- OleDbMetaDataFactory.cs