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
- StrokeNodeOperations2.cs
- ETagAttribute.cs
- BigInt.cs
- ImagingCache.cs
- LongTypeConverter.cs
- WebServiceParameterData.cs
- WebPartCloseVerb.cs
- ClientEventManager.cs
- PeerApplication.cs
- WinFormsUtils.cs
- FreezableOperations.cs
- DiscoveryCallbackBehavior.cs
- ParserHooks.cs
- CellTreeNode.cs
- VectorCollectionConverter.cs
- HttpAsyncResult.cs
- EventSetter.cs
- ServiceOperationParameter.cs
- _CookieModule.cs
- DynamicValueConverter.cs
- DocumentViewer.cs
- NonParentingControl.cs
- PermissionSet.cs
- SudsWriter.cs
- NavigationWindow.cs
- TextRangeSerialization.cs
- Application.cs
- MaskDesignerDialog.cs
- TextSelectionProcessor.cs
- XamlFilter.cs
- SqlProvider.cs
- PropertyNames.cs
- Sorting.cs
- AuthStoreRoleProvider.cs
- SectionXmlInfo.cs
- GridSplitterAutomationPeer.cs
- SystemIPGlobalProperties.cs
- BufferBuilder.cs
- OptimalTextSource.cs
- KnownTypesHelper.cs
- SqlConnectionHelper.cs
- EdmEntityTypeAttribute.cs
- ActivityDesignerHelper.cs
- ProfileBuildProvider.cs
- StsCommunicationException.cs
- RegularExpressionValidator.cs
- sqlnorm.cs
- RuntimeResourceSet.cs
- ValueUtilsSmi.cs
- UIElement.cs
- X509SubjectKeyIdentifierClause.cs
- HttpModuleCollection.cs
- ScriptingWebServicesSectionGroup.cs
- GeometryHitTestParameters.cs
- MemberNameValidator.cs
- BrowserTree.cs
- CodeMemberProperty.cs
- StringPropertyBuilder.cs
- QilList.cs
- _ConnectStream.cs
- ChtmlTextWriter.cs
- WorkflowInstanceProvider.cs
- TextTreeFixupNode.cs
- SafeFindHandle.cs
- LogSwitch.cs
- OdbcFactory.cs
- XmlReader.cs
- ClosureBinding.cs
- FloatUtil.cs
- ScrollItemPatternIdentifiers.cs
- SoapCodeExporter.cs
- X509ChainElement.cs
- DataGridViewCellLinkedList.cs
- NameGenerator.cs
- cache.cs
- ScaleTransform3D.cs
- ProviderConnectionPointCollection.cs
- QuotedPrintableStream.cs
- rsa.cs
- XmlArrayItemAttributes.cs
- DBCommand.cs
- RichTextBox.cs
- CatalogZoneBase.cs
- OdbcCommand.cs
- Pair.cs
- PerformanceCounter.cs
- DelegatingTypeDescriptionProvider.cs
- OuterGlowBitmapEffect.cs
- WebConfigurationHost.cs
- GreenMethods.cs
- HasCopySemanticsAttribute.cs
- DataGridViewUtilities.cs
- XmlDataSourceView.cs
- ConfigurationValidatorBase.cs
- MultipleViewProviderWrapper.cs
- parserscommon.cs
- BaseCollection.cs
- GenericsInstances.cs
- CloudCollection.cs
- RuleSetCollection.cs