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
- PersonalizationProviderHelper.cs
- FieldValue.cs
- Int64KeyFrameCollection.cs
- DrawingCollection.cs
- StatusBarPanelClickEvent.cs
- X509Utils.cs
- HistoryEventArgs.cs
- FullTextState.cs
- ExtendedPropertiesHandler.cs
- SQLDateTime.cs
- ValidationError.cs
- DecimalAnimation.cs
- DbProviderFactory.cs
- AVElementHelper.cs
- GlobalizationSection.cs
- AsyncCompletedEventArgs.cs
- BrowserCapabilitiesFactoryBase.cs
- EventWaitHandle.cs
- PropertyTabAttribute.cs
- XmlElementList.cs
- SelectionUIHandler.cs
- FormParameter.cs
- DataViewManagerListItemTypeDescriptor.cs
- ToolboxService.cs
- StreamReader.cs
- ExtensionSimplifierMarkupObject.cs
- ValidationErrorEventArgs.cs
- ButtonPopupAdapter.cs
- SqlCommandBuilder.cs
- SurrogateChar.cs
- DataGridState.cs
- CustomDictionarySources.cs
- CurrentChangingEventArgs.cs
- CatalogZone.cs
- DesignTimeVisibleAttribute.cs
- TokenizerHelper.cs
- BindingsCollection.cs
- HttpValueCollection.cs
- ParentUndoUnit.cs
- Model3D.cs
- SafeThemeHandle.cs
- SecurityDocument.cs
- SafeHGlobalHandleCritical.cs
- CommonProperties.cs
- COAUTHINFO.cs
- HitTestFilterBehavior.cs
- Camera.cs
- FileDialogPermission.cs
- ImageListStreamer.cs
- SoapSchemaExporter.cs
- Accessible.cs
- Animatable.cs
- TextPointerBase.cs
- SoapCommonClasses.cs
- ServerValidateEventArgs.cs
- WebBrowserSiteBase.cs
- ProviderConnectionPointCollection.cs
- DataGridViewCell.cs
- BidPrivateBase.cs
- GenericTypeParameterBuilder.cs
- Pair.cs
- RectValueSerializer.cs
- XmlSchemaObjectTable.cs
- ContentControl.cs
- InkCanvasInnerCanvas.cs
- XamlToRtfParser.cs
- DataContractSerializer.cs
- CodeSnippetExpression.cs
- DependencyStoreSurrogate.cs
- HttpCapabilitiesSectionHandler.cs
- ProvidePropertyAttribute.cs
- SoapRpcServiceAttribute.cs
- NameValuePermission.cs
- CompilerTypeWithParams.cs
- ClientSettings.cs
- NodeLabelEditEvent.cs
- BooleanConverter.cs
- FormsAuthenticationTicket.cs
- Perspective.cs
- EmptyEnumerable.cs
- _NativeSSPI.cs
- ToolStripOverflow.cs
- ConditionCollection.cs
- CommandPlan.cs
- MsmqIntegrationBinding.cs
- DictationGrammar.cs
- DataList.cs
- WCFServiceClientProxyGenerator.cs
- Soap12FormatExtensions.cs
- FormClosingEvent.cs
- CreateRefExpr.cs
- Point3DCollectionConverter.cs
- CharAnimationUsingKeyFrames.cs
- SiteIdentityPermission.cs
- FakeModelPropertyImpl.cs
- InstanceLockLostException.cs
- WebPartDisplayMode.cs
- XmlSchemaImporter.cs
- DataPagerFieldCollection.cs
- InvalidDataException.cs