Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / ndp / fx / src / DataEntity / System / Data / Metadata / Edm / CollectionType.cs / 1 / 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
- FormConverter.cs
- SafeProcessHandle.cs
- UnsettableComboBox.cs
- ServiceModelEnumValidator.cs
- XomlCompilerHelpers.cs
- ClientTargetCollection.cs
- HttpCachePolicyElement.cs
- ListenerUnsafeNativeMethods.cs
- Win32SafeHandles.cs
- MoveSizeWinEventHandler.cs
- DataGridTable.cs
- PagerSettings.cs
- figurelengthconverter.cs
- TableLayoutPanel.cs
- CodeObjectCreateExpression.cs
- InstanceLockedException.cs
- CollectionsUtil.cs
- StickyNote.cs
- AuthenticationModuleElement.cs
- DetailsViewCommandEventArgs.cs
- loginstatus.cs
- XComponentModel.cs
- Win32SafeHandles.cs
- WmlValidationSummaryAdapter.cs
- ListViewTableRow.cs
- TryCatch.cs
- ExtensibleClassFactory.cs
- PriorityChain.cs
- DbProviderServices.cs
- FixedSOMLineCollection.cs
- MultiByteCodec.cs
- DefaultCommandConverter.cs
- EntryIndex.cs
- ContainerControl.cs
- CryptoHelper.cs
- TextParagraphProperties.cs
- FixedSOMSemanticBox.cs
- HTMLTagNameToTypeMapper.cs
- Trace.cs
- TypeElementCollection.cs
- DataViewManagerListItemTypeDescriptor.cs
- GZipStream.cs
- WebBrowserProgressChangedEventHandler.cs
- XmlDocumentType.cs
- XmlSchemaAnyAttribute.cs
- ImageFormatConverter.cs
- DynamicAttribute.cs
- NoneExcludedImageIndexConverter.cs
- CrossAppDomainChannel.cs
- SqlReorderer.cs
- XmlReaderSettings.cs
- Int32Storage.cs
- DataObjectMethodAttribute.cs
- Message.cs
- ViewStateException.cs
- ConfigurationManagerHelper.cs
- XamlPointCollectionSerializer.cs
- StyleHelper.cs
- ViewValidator.cs
- WebPartConnectionsConnectVerb.cs
- ToolBarDesigner.cs
- IPAddress.cs
- TagPrefixCollection.cs
- XmlEncodedRawTextWriter.cs
- X509Extension.cs
- RestHandler.cs
- ListSortDescription.cs
- DelimitedListTraceListener.cs
- SiteMembershipCondition.cs
- WorkflowDesigner.cs
- Trustee.cs
- DBConnection.cs
- DataStreams.cs
- ClientApiGenerator.cs
- Encoder.cs
- ValueQuery.cs
- BuiltInExpr.cs
- ModuleBuilderData.cs
- TabControlCancelEvent.cs
- QilSortKey.cs
- ProfessionalColorTable.cs
- dtdvalidator.cs
- WebConfigurationHost.cs
- MSAAWinEventWrap.cs
- TextEditor.cs
- NamespaceQuery.cs
- EnumValidator.cs
- ConfigurationManagerHelperFactory.cs
- WinFormsUtils.cs
- PKCS1MaskGenerationMethod.cs
- UserControlCodeDomTreeGenerator.cs
- EventLogEntry.cs
- CacheMemory.cs
- Attributes.cs
- _Rfc2616CacheValidators.cs
- DataControlImageButton.cs
- XmlNamespaceManager.cs
- DateTimePicker.cs
- PropertyEmitterBase.cs
- Timeline.cs