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
- OutputWindow.cs
- XmlSerializationGeneratedCode.cs
- CodeLabeledStatement.cs
- SamlDoNotCacheCondition.cs
- UidPropertyAttribute.cs
- ReflectionPermission.cs
- Bits.cs
- _HeaderInfoTable.cs
- RuntimeConfig.cs
- Boolean.cs
- StyleCollection.cs
- XamlBuildTaskServices.cs
- UserInitiatedNavigationPermission.cs
- SoapElementAttribute.cs
- OleDbMetaDataFactory.cs
- DefaultAutoFieldGenerator.cs
- RemoteWebConfigurationHost.cs
- TextBoxAutoCompleteSourceConverter.cs
- MissingSatelliteAssemblyException.cs
- RbTree.cs
- ContainerUtilities.cs
- StreamResourceInfo.cs
- InstanceStore.cs
- ToolBarOverflowPanel.cs
- SiteMapHierarchicalDataSourceView.cs
- BaseComponentEditor.cs
- DocumentViewerAutomationPeer.cs
- TagPrefixAttribute.cs
- Vector3D.cs
- ByteStreamGeometryContext.cs
- DebugView.cs
- DataContractAttribute.cs
- RuleElement.cs
- FixedFlowMap.cs
- HttpStreamFormatter.cs
- AnchoredBlock.cs
- ButtonFlatAdapter.cs
- BlockUIContainer.cs
- WindowsBrush.cs
- DependencyPropertyAttribute.cs
- SystemColors.cs
- DataGridViewHeaderCell.cs
- SqlDataSourceStatusEventArgs.cs
- RightsManagementEncryptionTransform.cs
- SimpleMailWebEventProvider.cs
- DesignerRegion.cs
- TCPClient.cs
- FormattedTextSymbols.cs
- SubqueryRules.cs
- LookupBindingPropertiesAttribute.cs
- EncoderParameter.cs
- SvcMapFileSerializer.cs
- EncodingInfo.cs
- Environment.cs
- AuthenticodeSignatureInformation.cs
- XmlObjectSerializerReadContextComplex.cs
- SimplePropertyEntry.cs
- SaveWorkflowAsyncResult.cs
- LazyTextWriterCreator.cs
- CodeStatementCollection.cs
- CustomAssemblyResolver.cs
- ChooseAction.cs
- WebConvert.cs
- SchemaConstraints.cs
- LayoutSettings.cs
- StringAttributeCollection.cs
- AmbientLight.cs
- WorkflowQueue.cs
- XmlSchemaCompilationSettings.cs
- EpmSyndicationContentSerializer.cs
- BaseAddressElement.cs
- Interlocked.cs
- AutoResizedEvent.cs
- NodeLabelEditEvent.cs
- Binding.cs
- Transform3DGroup.cs
- TableHeaderCell.cs
- ExtractorMetadata.cs
- AuthorizationSection.cs
- TextFindEngine.cs
- BindingUtils.cs
- ServiceEndpointElementCollection.cs
- RuleConditionDialog.cs
- DataControlHelper.cs
- DeviceContext.cs
- EmbeddedMailObjectsCollection.cs
- ParallelTimeline.cs
- GlobalizationSection.cs
- OdbcConnection.cs
- odbcmetadatacolumnnames.cs
- CodeExporter.cs
- Point3DCollection.cs
- cookieexception.cs
- Message.cs
- CultureInfoConverter.cs
- SmtpTransport.cs
- MappingSource.cs
- TaskFileService.cs
- XsdCachingReader.cs
- TreeView.cs