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
- InlineCollection.cs
- UIHelper.cs
- SqlDataSourceConfigureFilterForm.cs
- DefaultValueMapping.cs
- RawUIStateInputReport.cs
- JumpTask.cs
- SettingsPropertyCollection.cs
- TextChangedEventArgs.cs
- PrimitiveSchema.cs
- PreProcessor.cs
- GridViewDeletedEventArgs.cs
- GridViewRow.cs
- Focus.cs
- DataControlHelper.cs
- ExceptionUtility.cs
- ObjectHandle.cs
- PlainXmlDeserializer.cs
- UpdatePanelTriggerCollection.cs
- SqlFlattener.cs
- DateBoldEvent.cs
- IxmlLineInfo.cs
- TimeZone.cs
- EnumType.cs
- DLinqTableProvider.cs
- XmlCharacterData.cs
- MDIControlStrip.cs
- ReflectionServiceProvider.cs
- ProfileGroupSettingsCollection.cs
- OdbcConnectionFactory.cs
- InkCollectionBehavior.cs
- DataGridViewCellMouseEventArgs.cs
- HttpWebResponse.cs
- CursorConverter.cs
- XmlHierarchicalDataSourceView.cs
- Calendar.cs
- TextViewElement.cs
- TargetConverter.cs
- Decoder.cs
- FixedPageAutomationPeer.cs
- AsyncStreamReader.cs
- AutomationPeer.cs
- WorkflowElementDialogWindow.xaml.cs
- ActivityStateRecord.cs
- UIntPtr.cs
- Storyboard.cs
- WinInetCache.cs
- TransformedBitmap.cs
- StylusPointPropertyInfoDefaults.cs
- SmtpTransport.cs
- HtmlAnchor.cs
- MultipartContentParser.cs
- EUCJPEncoding.cs
- QueryRewriter.cs
- GenericTypeParameterConverter.cs
- StandardCommands.cs
- XmlReader.cs
- SystemIcmpV4Statistics.cs
- UncommonField.cs
- LogReservationCollection.cs
- DataTableReader.cs
- ByteStack.cs
- XmlSerializerVersionAttribute.cs
- OracleLob.cs
- SerializationInfoEnumerator.cs
- DocumentGrid.cs
- ServiceSecurityContext.cs
- OperationFormatStyle.cs
- MimeReturn.cs
- WebPartVerb.cs
- RegionInfo.cs
- DelegateTypeInfo.cs
- Rijndael.cs
- WebPartConnectionsDisconnectVerb.cs
- HMACSHA512.cs
- SpellerError.cs
- BinaryObjectReader.cs
- DataGridHelper.cs
- GPRECT.cs
- TextureBrush.cs
- OdbcConnectionPoolProviderInfo.cs
- FileClassifier.cs
- ConditionValidator.cs
- x509utils.cs
- DBCSCodePageEncoding.cs
- DrawingState.cs
- EventMappingSettingsCollection.cs
- ZoneLinkButton.cs
- DebugView.cs
- DbConnectionPoolOptions.cs
- DesignerHost.cs
- Native.cs
- Profiler.cs
- Enum.cs
- DbMetaDataCollectionNames.cs
- DataTableNewRowEvent.cs
- Condition.cs
- LinqToSqlWrapper.cs
- ProfileModule.cs
- UserNamePasswordClientCredential.cs
- TaskFileService.cs