Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / Data / System / Data / Sql / SqlUserDefinedTypeAttribute.cs / 1 / SqlUserDefinedTypeAttribute.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All Rights Reserved. // Information Contained Herein is Proprietary and Confidential. // //[....] //[....] //daltudov //[....] //beysims //[....] //vadimt //venkar //[....] //----------------------------------------------------------------------------- namespace Microsoft.SqlServer.Server { using System; using System.Data.Common; public enum Format { //: byte Unknown = 0, Native = 1, UserDefined = 2, #if WINFSFunctionality // Only applies to WinFS Structured = 4 #endif } // This custom attribute indicates that the given type is // a SqlServer udt. The properties on the attribute reflect the // physical attributes that will be used when the type is registered // with SqlServer. [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct, AllowMultiple=false, Inherited=true)] public sealed class SqlUserDefinedTypeAttribute: Attribute { private int m_MaxByteSize; private bool m_IsFixedLength; private bool m_IsByteOrdered; private Format m_format; private string m_fName; // The maximum value for the maxbytesize field, in bytes. internal const int YukonMaxByteSizeValue = 8000; private String m_ValidationMethodName = null; // A required attribute on all udts, used to indicate that the // given type is a udt, and its storage format. public SqlUserDefinedTypeAttribute(Format format) { switch(format) { case Format.Unknown: throw ADP.NotSupportedUserDefinedTypeSerializationFormat((Microsoft.SqlServer.Server.Format)format, "format"); case Format.Native: case Format.UserDefined: #if WINFSFunctionality case Format.Structured: #endif this.m_format = format; break; default: throw ADP.InvalidUserDefinedTypeSerializationFormat((Microsoft.SqlServer.Server.Format)format); } } // The maximum size of this instance, in bytes. Does not have to be // specified for Native serialization. The maximum value // for this property is specified by MaxByteSizeValue. public int MaxByteSize { get { return this.m_MaxByteSize; } set { if (value < -1) { throw ADP.ArgumentOutOfRange("MaxByteSize"); } this.m_MaxByteSize = value; } } // Are all instances of this udt the same size on disk? public bool IsFixedLength { get { return this.m_IsFixedLength; } set { this.m_IsFixedLength = value; } } // Is this type byte ordered, i.e. is the on disk representation // consistent with the ordering semantics for this type? // If true, the binary representation of the type will be used // in comparison by SqlServer. This property enables indexing on the // udt and faster comparisons. public bool IsByteOrdered { get { return this.m_IsByteOrdered; } set { this.m_IsByteOrdered = value; } } // The on-disk format for this type. public Format Format { get { return this.m_format; } } // An Optional method used to validate this UDT // Signature: bool <ValidationMethodName>(); public String ValidationMethodName { get { return this.m_ValidationMethodName; } set { this.m_ValidationMethodName = value; } } public string Name { get { return m_fName; } set { m_fName = value; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All Rights Reserved. // Information Contained Herein is Proprietary and Confidential. // //[....] //[....] //daltudov //[....] //beysims //[....] //vadimt //venkar //[....] //----------------------------------------------------------------------------- namespace Microsoft.SqlServer.Server { using System; using System.Data.Common; public enum Format { //: byte Unknown = 0, Native = 1, UserDefined = 2, #if WINFSFunctionality // Only applies to WinFS Structured = 4 #endif } // This custom attribute indicates that the given type is // a SqlServer udt. The properties on the attribute reflect the // physical attributes that will be used when the type is registered // with SqlServer. [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct, AllowMultiple=false, Inherited=true)] public sealed class SqlUserDefinedTypeAttribute: Attribute { private int m_MaxByteSize; private bool m_IsFixedLength; private bool m_IsByteOrdered; private Format m_format; private string m_fName; // The maximum value for the maxbytesize field, in bytes. internal const int YukonMaxByteSizeValue = 8000; private String m_ValidationMethodName = null; // A required attribute on all udts, used to indicate that the // given type is a udt, and its storage format. public SqlUserDefinedTypeAttribute(Format format) { switch(format) { case Format.Unknown: throw ADP.NotSupportedUserDefinedTypeSerializationFormat((Microsoft.SqlServer.Server.Format)format, "format"); case Format.Native: case Format.UserDefined: #if WINFSFunctionality case Format.Structured: #endif this.m_format = format; break; default: throw ADP.InvalidUserDefinedTypeSerializationFormat((Microsoft.SqlServer.Server.Format)format); } } // The maximum size of this instance, in bytes. Does not have to be // specified for Native serialization. The maximum value // for this property is specified by MaxByteSizeValue. public int MaxByteSize { get { return this.m_MaxByteSize; } set { if (value < -1) { throw ADP.ArgumentOutOfRange("MaxByteSize"); } this.m_MaxByteSize = value; } } // Are all instances of this udt the same size on disk? public bool IsFixedLength { get { return this.m_IsFixedLength; } set { this.m_IsFixedLength = value; } } // Is this type byte ordered, i.e. is the on disk representation // consistent with the ordering semantics for this type? // If true, the binary representation of the type will be used // in comparison by SqlServer. This property enables indexing on the // udt and faster comparisons. public bool IsByteOrdered { get { return this.m_IsByteOrdered; } set { this.m_IsByteOrdered = value; } } // The on-disk format for this type. public Format Format { get { return this.m_format; } } // An Optional method used to validate this UDT // Signature: bool <ValidationMethodName>(); public String ValidationMethodName { get { return this.m_ValidationMethodName; } set { this.m_ValidationMethodName = value; } } public string Name { get { return m_fName; } set { m_fName = value; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DataGridViewUtilities.cs
- Calendar.cs
- AttributeProviderAttribute.cs
- TraceProvider.cs
- DetailsViewPagerRow.cs
- Privilege.cs
- EditorZone.cs
- PtsContext.cs
- DesignerAdRotatorAdapter.cs
- DrawingAttributes.cs
- ListParagraph.cs
- ResourceSet.cs
- SQLDateTime.cs
- EntityDataSourceViewSchema.cs
- SponsorHelper.cs
- __Filters.cs
- PageThemeCodeDomTreeGenerator.cs
- MLangCodePageEncoding.cs
- OpCodes.cs
- TransformGroup.cs
- WindowsListViewItem.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- FtpWebResponse.cs
- Run.cs
- webeventbuffer.cs
- UnsignedPublishLicense.cs
- SignatureConfirmationElement.cs
- XmlTypeAttribute.cs
- CustomDictionarySources.cs
- EventWaitHandle.cs
- _NegotiateClient.cs
- XmlDownloadManager.cs
- ToolStripRendererSwitcher.cs
- DocumentOrderComparer.cs
- ApplicationManager.cs
- BuildDependencySet.cs
- EntityCollection.cs
- GlyphShapingProperties.cs
- ModulesEntry.cs
- DecimalConstantAttribute.cs
- RadialGradientBrush.cs
- TagPrefixAttribute.cs
- SiteMapSection.cs
- TextDecorationCollectionConverter.cs
- ControlBuilderAttribute.cs
- Fault.cs
- StrokeNodeData.cs
- MergeLocalizationDirectives.cs
- WorkflowOperationInvoker.cs
- userdatakeys.cs
- Manipulation.cs
- COM2EnumConverter.cs
- DataServiceRequestException.cs
- EDesignUtil.cs
- XPathBinder.cs
- OracleEncoding.cs
- Table.cs
- Main.cs
- DiagnosticTraceSource.cs
- DelegatingTypeDescriptionProvider.cs
- GridViewRowEventArgs.cs
- XPathAncestorIterator.cs
- EventProxy.cs
- Size.cs
- QueryCacheKey.cs
- SuppressIldasmAttribute.cs
- NullableLongMinMaxAggregationOperator.cs
- Propagator.JoinPropagator.SubstitutingCloneVisitor.cs
- SchemaTableOptionalColumn.cs
- Comparer.cs
- AdornedElementPlaceholder.cs
- HtmlForm.cs
- GridPattern.cs
- WebPartTransformerCollection.cs
- WinEventHandler.cs
- __TransparentProxy.cs
- ProcessInfo.cs
- WorkflowServiceHostFactory.cs
- NotifyParentPropertyAttribute.cs
- EntityModelSchemaGenerator.cs
- HMAC.cs
- TypeConverterHelper.cs
- ExecutedRoutedEventArgs.cs
- ResourceDefaultValueAttribute.cs
- WaitForChangedResult.cs
- ImageSource.cs
- OSFeature.cs
- SessionSymmetricMessageSecurityProtocolFactory.cs
- HttpConfigurationContext.cs
- DataGridAutoGeneratingColumnEventArgs.cs
- ProtectedConfigurationSection.cs
- PopupEventArgs.cs
- RegexCompilationInfo.cs
- SparseMemoryStream.cs
- GridViewCancelEditEventArgs.cs
- TemplatePartAttribute.cs
- ListSourceHelper.cs
- DbMetaDataColumnNames.cs
- SortQuery.cs
- AutomationEventArgs.cs