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
- FamilyMapCollection.cs
- EditorPart.cs
- Console.cs
- Attachment.cs
- CustomLineCap.cs
- LinkConverter.cs
- ArithmeticLiteral.cs
- ControlEvent.cs
- HttpCacheParams.cs
- HitTestParameters3D.cs
- DbConnectionPoolOptions.cs
- Simplifier.cs
- PageAdapter.cs
- TextBlockAutomationPeer.cs
- PathGeometry.cs
- BoolLiteral.cs
- KeyEvent.cs
- IList.cs
- CDSCollectionETWBCLProvider.cs
- TimeEnumHelper.cs
- ChildChangedEventArgs.cs
- TypedElement.cs
- DictionaryKeyPropertyAttribute.cs
- SerializationEventsCache.cs
- ObjectConverter.cs
- OleDbTransaction.cs
- Hash.cs
- RelativeSource.cs
- Roles.cs
- HeaderedItemsControl.cs
- AsyncOperationManager.cs
- SystemUnicastIPAddressInformation.cs
- ProcessModelInfo.cs
- BaseResourcesBuildProvider.cs
- HtmlPanelAdapter.cs
- BaseTreeIterator.cs
- ErasingStroke.cs
- TypeReference.cs
- RayMeshGeometry3DHitTestResult.cs
- NamespaceQuery.cs
- PriorityChain.cs
- XmlArrayItemAttributes.cs
- QilLoop.cs
- DocumentViewer.cs
- TogglePatternIdentifiers.cs
- PreservationFileWriter.cs
- CorrelationTokenInvalidatedHandler.cs
- CodeDirectoryCompiler.cs
- SymmetricAlgorithm.cs
- WriteableBitmap.cs
- AmbientProperties.cs
- SpecialNameAttribute.cs
- WebBrowserUriTypeConverter.cs
- ThicknessConverter.cs
- SelectedDatesCollection.cs
- Evaluator.cs
- ListQueryResults.cs
- HttpConfigurationContext.cs
- OdbcConnectionOpen.cs
- BitmapSourceSafeMILHandle.cs
- printdlgexmarshaler.cs
- XmlSchemaValidator.cs
- QilInvokeLateBound.cs
- BinHexEncoder.cs
- TdsEnums.cs
- DirectoryObjectSecurity.cs
- CorruptingExceptionCommon.cs
- DataGridViewComboBoxCell.cs
- NullableDecimalSumAggregationOperator.cs
- CodeAttributeArgument.cs
- XPathItem.cs
- HtmlFormWrapper.cs
- InvalidOperationException.cs
- RightsController.cs
- TriggerActionCollection.cs
- QueryContinueDragEventArgs.cs
- CodePageUtils.cs
- ValidatingReaderNodeData.cs
- SkinIDTypeConverter.cs
- invalidudtexception.cs
- InkCanvasSelectionAdorner.cs
- RoleManagerModule.cs
- ReachFixedDocumentSerializerAsync.cs
- WebPartZoneDesigner.cs
- PublisherIdentityPermission.cs
- XmlMtomReader.cs
- XhtmlConformanceSection.cs
- ColorMap.cs
- SqlCacheDependencyDatabase.cs
- ProcessMonitor.cs
- ApplicationManager.cs
- Add.cs
- TracingConnectionListener.cs
- LinkLabel.cs
- DataGridColumnHeadersPresenterAutomationPeer.cs
- DrawListViewSubItemEventArgs.cs
- IndexedString.cs
- SchemaCollectionPreprocessor.cs
- ClientCultureInfo.cs
- PropertyItem.cs