Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Metadata / Edm / CollectionType.cs / 1305376 / CollectionType.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- 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
- CellNormalizer.cs
- ClockGroup.cs
- PropertyTabAttribute.cs
- CodeDOMProvider.cs
- ToolboxComponentsCreatingEventArgs.cs
- FixedNode.cs
- DefaultValueAttribute.cs
- EventLogRecord.cs
- Renderer.cs
- WsdlBuildProvider.cs
- TimelineGroup.cs
- TrustSection.cs
- ProcessRequestAsyncResult.cs
- TemplateContentLoader.cs
- AnchoredBlock.cs
- DataGridViewIntLinkedList.cs
- WebPartConnectionsCancelVerb.cs
- OdbcEnvironmentHandle.cs
- StylusPointPropertyInfo.cs
- DataAccessor.cs
- NativeMethodsOther.cs
- Image.cs
- AnnotationStore.cs
- BinaryMethodMessage.cs
- PrtTicket_Public.cs
- AnnotationComponentChooser.cs
- XmlMemberMapping.cs
- SystemDropShadowChrome.cs
- ListCommandEventArgs.cs
- QueueNameHelper.cs
- DataSourceHelper.cs
- Compilation.cs
- DescendantQuery.cs
- GPRECT.cs
- XmlFormatExtensionPointAttribute.cs
- AtomMaterializerLog.cs
- AccessibleObject.cs
- _UriTypeConverter.cs
- TrustLevelCollection.cs
- compensatingcollection.cs
- AxHost.cs
- XPathDescendantIterator.cs
- PingOptions.cs
- ProxyManager.cs
- RestHandler.cs
- CodeGenerator.cs
- AbstractDataSvcMapFileLoader.cs
- FamilyTypefaceCollection.cs
- TreeIterators.cs
- TypeInitializationException.cs
- ObjectStorage.cs
- DataGridViewDataErrorEventArgs.cs
- DocumentGridContextMenu.cs
- RegexParser.cs
- DesignerPainter.cs
- Boolean.cs
- CompositeFontFamily.cs
- XmlObjectSerializerWriteContext.cs
- CodeMemberProperty.cs
- PocoEntityKeyStrategy.cs
- TemplatedAdorner.cs
- ServiceModelEnhancedConfigurationElementCollection.cs
- HtmlTableRowCollection.cs
- DoubleAverageAggregationOperator.cs
- PageTheme.cs
- StaticResourceExtension.cs
- CharUnicodeInfo.cs
- SessionStateContainer.cs
- NullableIntAverageAggregationOperator.cs
- DataSourceSelectArguments.cs
- KnowledgeBase.cs
- XhtmlBasicCalendarAdapter.cs
- ECDiffieHellmanCngPublicKey.cs
- UnregisterInfo.cs
- BaseWebProxyFinder.cs
- ErrorWebPart.cs
- SmiMetaDataProperty.cs
- SwitchAttribute.cs
- BamlRecordWriter.cs
- ChangeNode.cs
- ContentOperations.cs
- StateFinalizationDesigner.cs
- SByteConverter.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- SqlDataSourceStatusEventArgs.cs
- BindingCompleteEventArgs.cs
- CompilerGeneratedAttribute.cs
- DataObject.cs
- EventArgs.cs
- SelectionEditingBehavior.cs
- KeyValuePairs.cs
- SqlFacetAttribute.cs
- HttpRequestBase.cs
- DataFormats.cs
- SQLDecimal.cs
- Int32EqualityComparer.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- EndpointConfigContainer.cs
- ObjectItemAssemblyLoader.cs
- ExceptionUtil.cs