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
- RightsManagementPermission.cs
- CodeCatchClause.cs
- HitTestParameters.cs
- DnsEndpointIdentity.cs
- DefaultValidator.cs
- ButtonBase.cs
- AutoFocusStyle.xaml.cs
- DataGridRow.cs
- ConfigXmlAttribute.cs
- CacheEntry.cs
- EncryptedType.cs
- PropertyChangedEventManager.cs
- Geometry3D.cs
- QuotedPrintableStream.cs
- MenuBase.cs
- DateTimeFormatInfoScanner.cs
- AnnotationResource.cs
- Logging.cs
- ConfigXmlDocument.cs
- QueryableDataSourceEditData.cs
- Privilege.cs
- SoapExtensionReflector.cs
- ExpressionBuilderCollection.cs
- GlyphManager.cs
- UserControlDocumentDesigner.cs
- UndirectedGraph.cs
- PartialClassGenerationTaskInternal.cs
- ObjectContext.cs
- ScrollChrome.cs
- TrackingProfile.cs
- CodeTypeReferenceCollection.cs
- AutomationAttributeInfo.cs
- SafeNativeMethods.cs
- WorkflowClientDeliverMessageWrapper.cs
- MenuBase.cs
- BooleanConverter.cs
- Converter.cs
- BitmapEffectDrawingContextState.cs
- PersonalizationStateInfoCollection.cs
- CatalogZoneBase.cs
- DataGridTable.cs
- ReturnType.cs
- DataServiceExpressionVisitor.cs
- XPathEmptyIterator.cs
- SymmetricAlgorithm.cs
- StylusPointCollection.cs
- EditorPartCollection.cs
- RectAnimationClockResource.cs
- Int64.cs
- SecurityHelper.cs
- RowVisual.cs
- EnlistmentState.cs
- UrlMappingsSection.cs
- DynamicPropertyHolder.cs
- TrustLevel.cs
- AspNetRouteServiceHttpHandler.cs
- SessionState.cs
- UriParserTemplates.cs
- ArgumentException.cs
- LocalizableAttribute.cs
- Metadata.cs
- ButtonRenderer.cs
- Label.cs
- VariableDesigner.xaml.cs
- CustomPopupPlacement.cs
- AuthenticationModuleElement.cs
- HandoffBehavior.cs
- XmlReader.cs
- EntityParameter.cs
- ToolStripItemCollection.cs
- OutputWindow.cs
- dataobject.cs
- ListViewDeletedEventArgs.cs
- ToolStripItemImageRenderEventArgs.cs
- Exceptions.cs
- DbConnectionPoolOptions.cs
- HostVisual.cs
- TimeoutConverter.cs
- ObjectListCommandEventArgs.cs
- CopyOfAction.cs
- HttpVersion.cs
- XmlAnyElementAttribute.cs
- ProviderConnectionPoint.cs
- BamlResourceDeserializer.cs
- Convert.cs
- SimpleTextLine.cs
- PersianCalendar.cs
- ReadOnlyDataSourceView.cs
- UrlPath.cs
- SignatureResourceHelper.cs
- FacetChecker.cs
- NativeActivityAbortContext.cs
- HttpFormatExtensions.cs
- Speller.cs
- ViewValidator.cs
- ProfessionalColorTable.cs
- MetadataItemSerializer.cs
- DesignerActionUI.cs
- CodeObject.cs
- WindowsAuthenticationModule.cs