Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Metadata / Edm / MetadataPropertyAttribute.cs / 1305376 / MetadataPropertyAttribute.cs
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....]
// @backupOwner [....]
//---------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Data.Common;
using System.Diagnostics;
namespace System.Data.Metadata.Edm
{
///
/// Attribute used to mark up properties that should appear in the MetadataItem.MetadataProperties collection
///
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = false)]
internal sealed class MetadataPropertyAttribute : Attribute
{
///
/// Initializes a new attribute with built in type kind
///
/// Built in type setting Type property
/// Sets IsCollectionType property
internal MetadataPropertyAttribute(BuiltInTypeKind builtInTypeKind, bool isCollectionType)
: this(MetadataItem.GetBuiltInType(builtInTypeKind), isCollectionType)
{
}
///
/// Initializes a new attribute with primitive type kind
///
/// Primitive type setting Type property
/// Sets IsCollectionType property
internal MetadataPropertyAttribute(PrimitiveTypeKind primitiveTypeKind, bool isCollectionType)
: this(MetadataItem.EdmProviderManifest.GetPrimitiveType(primitiveTypeKind), isCollectionType)
{
}
///
/// Initialize a new attribute with complex type kind (corresponding the the CLR type)
///
/// CLR type setting Type property
/// Sets IsCollectionType property
internal MetadataPropertyAttribute(Type type, bool isCollection)
: this(ClrComplexType.CreateReadonlyClrComplexType(type, type.Namespace ?? string.Empty, type.Name), isCollection)
{
}
///
/// Initialize a new attribute
///
/// Sets Type property
/// Sets IsCollectionType property
private MetadataPropertyAttribute(EdmType type, bool isCollectionType)
{
Debug.Assert(null != type);
_type = type;
_isCollectionType = isCollectionType;
}
private readonly EdmType _type;
private readonly bool _isCollectionType;
///
/// Gets EDM type for values stored in property.
///
internal EdmType Type { get { return _type; } }
///
/// Gets bool indicating whether this is a collection type.
///
internal bool IsCollectionType { get { return _isCollectionType; } }
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....]
// @backupOwner [....]
//---------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Data.Common;
using System.Diagnostics;
namespace System.Data.Metadata.Edm
{
///
/// Attribute used to mark up properties that should appear in the MetadataItem.MetadataProperties collection
///
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = false)]
internal sealed class MetadataPropertyAttribute : Attribute
{
///
/// Initializes a new attribute with built in type kind
///
/// Built in type setting Type property
/// Sets IsCollectionType property
internal MetadataPropertyAttribute(BuiltInTypeKind builtInTypeKind, bool isCollectionType)
: this(MetadataItem.GetBuiltInType(builtInTypeKind), isCollectionType)
{
}
///
/// Initializes a new attribute with primitive type kind
///
/// Primitive type setting Type property
/// Sets IsCollectionType property
internal MetadataPropertyAttribute(PrimitiveTypeKind primitiveTypeKind, bool isCollectionType)
: this(MetadataItem.EdmProviderManifest.GetPrimitiveType(primitiveTypeKind), isCollectionType)
{
}
///
/// Initialize a new attribute with complex type kind (corresponding the the CLR type)
///
/// CLR type setting Type property
/// Sets IsCollectionType property
internal MetadataPropertyAttribute(Type type, bool isCollection)
: this(ClrComplexType.CreateReadonlyClrComplexType(type, type.Namespace ?? string.Empty, type.Name), isCollection)
{
}
///
/// Initialize a new attribute
///
/// Sets Type property
/// Sets IsCollectionType property
private MetadataPropertyAttribute(EdmType type, bool isCollectionType)
{
Debug.Assert(null != type);
_type = type;
_isCollectionType = isCollectionType;
}
private readonly EdmType _type;
private readonly bool _isCollectionType;
///
/// Gets EDM type for values stored in property.
///
internal EdmType Type { get { return _type; } }
///
/// Gets bool indicating whether this is a collection type.
///
internal bool IsCollectionType { get { return _isCollectionType; } }
}
}
// 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
- MetadataFile.cs
- SchemaElement.cs
- NodeLabelEditEvent.cs
- CodeExporter.cs
- FlowSwitchLink.cs
- AttachedAnnotationChangedEventArgs.cs
- DataContractSerializerElement.cs
- SqlServer2KCompatibilityCheck.cs
- LeafCellTreeNode.cs
- SqlNodeTypeOperators.cs
- SecurityContext.cs
- UserControl.cs
- CompiledQueryCacheEntry.cs
- InputScopeAttribute.cs
- DrawingAttributesDefaultValueFactory.cs
- ParameterCollection.cs
- COM2Enum.cs
- FastEncoderWindow.cs
- BindingMAnagerBase.cs
- SiteMapNodeItem.cs
- CalendarTable.cs
- DataGridViewAutoSizeModeEventArgs.cs
- AttributeCollection.cs
- RoutedEventArgs.cs
- TextContainer.cs
- ApplicationException.cs
- InvalidEnumArgumentException.cs
- DispatcherEventArgs.cs
- Condition.cs
- TailCallAnalyzer.cs
- Matrix.cs
- MediaSystem.cs
- DataGridViewSortCompareEventArgs.cs
- StorageMappingFragment.cs
- FatalException.cs
- ProxyGenerator.cs
- ColumnMapTranslator.cs
- PageVisual.cs
- LambdaCompiler.Statements.cs
- CurrentChangedEventManager.cs
- WindowsAuthenticationEventArgs.cs
- ToolStripGripRenderEventArgs.cs
- InstanceLockQueryResult.cs
- SqlTypeConverter.cs
- RuntimeVariablesExpression.cs
- PageCache.cs
- MaterialCollection.cs
- NonceToken.cs
- Column.cs
- Control.cs
- SmtpNegotiateAuthenticationModule.cs
- RightNameExpirationInfoPair.cs
- Token.cs
- xml.cs
- SqlResolver.cs
- EdgeProfileValidation.cs
- DragStartedEventArgs.cs
- ByeMessageApril2005.cs
- BufferedWebEventProvider.cs
- GroupQuery.cs
- Geometry.cs
- XamlTreeBuilder.cs
- InvokeMemberBinder.cs
- SmtpAuthenticationManager.cs
- HtmlTitle.cs
- WSTransactionSection.cs
- AuthorizationSection.cs
- Publisher.cs
- OpacityConverter.cs
- TypeElementCollection.cs
- RequestStatusBarUpdateEventArgs.cs
- NetCodeGroup.cs
- ResourcesBuildProvider.cs
- HttpBindingExtension.cs
- FileClassifier.cs
- xamlnodes.cs
- ObjectKeyFrameCollection.cs
- ContentControl.cs
- PartialCachingControl.cs
- ColumnMapVisitor.cs
- Type.cs
- ListItem.cs
- HwndStylusInputProvider.cs
- ListArgumentProvider.cs
- AutomationIdentifier.cs
- ScrollViewerAutomationPeer.cs
- ConstrainedDataObject.cs
- Accessible.cs
- EncryptedKeyIdentifierClause.cs
- MetadataSet.cs
- Vector.cs
- LassoSelectionBehavior.cs
- DataGridRowClipboardEventArgs.cs
- OptionalColumn.cs
- RMPublishingDialog.cs
- ReadOnlyHierarchicalDataSourceView.cs
- ActivitySurrogateSelector.cs
- ListComponentEditorPage.cs
- ListViewDesigner.cs
- QfeChecker.cs