Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- UpDownBase.cs
- FrameworkContextData.cs
- ResXResourceReader.cs
- SettingsAttributeDictionary.cs
- SoapExtensionReflector.cs
- ReturnValue.cs
- Random.cs
- LinkLabel.cs
- X509AsymmetricSecurityKey.cs
- DecoderFallback.cs
- SyndicationSerializer.cs
- ApplicationFileCodeDomTreeGenerator.cs
- DataTemplate.cs
- AndMessageFilterTable.cs
- ErrorInfoXmlDocument.cs
- ResourcePool.cs
- ControlValuePropertyAttribute.cs
- ZipFileInfo.cs
- Ops.cs
- Tile.cs
- EntityClassGenerator.cs
- CornerRadius.cs
- EventEntry.cs
- Membership.cs
- SectionRecord.cs
- ComponentDispatcher.cs
- ProtectedConfiguration.cs
- SymbolEqualComparer.cs
- GB18030Encoding.cs
- User.cs
- XmlObjectSerializerContext.cs
- Italic.cs
- CodeArgumentReferenceExpression.cs
- SkinBuilder.cs
- Application.cs
- WebReferencesBuildProvider.cs
- DeferredReference.cs
- BreakRecordTable.cs
- IChannel.cs
- SetterBase.cs
- CellNormalizer.cs
- VisualBrush.cs
- SymmetricAlgorithm.cs
- MemberDomainMap.cs
- DataGridHeaderBorder.cs
- ViewPort3D.cs
- SqlUtils.cs
- altserialization.cs
- NavigationExpr.cs
- ChangeProcessor.cs
- CreateParams.cs
- MenuRendererStandards.cs
- CodeTypeDelegate.cs
- WhiteSpaceTrimStringConverter.cs
- XmlExpressionDumper.cs
- SqlNodeTypeOperators.cs
- ComEventsInfo.cs
- EntityContainerAssociationSetEnd.cs
- ConfigurationStrings.cs
- CommandBindingCollection.cs
- HTMLTextWriter.cs
- ProfileGroupSettingsCollection.cs
- GlyphsSerializer.cs
- RemotingConfiguration.cs
- _TLSstream.cs
- FormViewDeletedEventArgs.cs
- ResourcesChangeInfo.cs
- WebPartConnectionsCancelEventArgs.cs
- StylusPointProperty.cs
- HtmlElementCollection.cs
- HostedHttpTransportManager.cs
- ClientCultureInfo.cs
- SQLBinaryStorage.cs
- TextCompositionEventArgs.cs
- XmlJsonWriter.cs
- SqlConnectionString.cs
- CompModHelpers.cs
- PathGeometry.cs
- RemotingClientProxy.cs
- InputProcessorProfilesLoader.cs
- AppLevelCompilationSectionCache.cs
- GenerateScriptTypeAttribute.cs
- SqlDataSourceCommandEventArgs.cs
- DesignerActionHeaderItem.cs
- TrackingDataItemValue.cs
- SimpleExpression.cs
- HttpValueCollection.cs
- ReferenceAssemblyAttribute.cs
- XmlToDatasetMap.cs
- CodePageEncoding.cs
- SafeLocalMemHandle.cs
- TextTreeObjectNode.cs
- VoiceSynthesis.cs
- ObjectFullSpanRewriter.cs
- CellRelation.cs
- MsmqIntegrationBindingCollectionElement.cs
- FileDialogPermission.cs
- CopyEncoder.cs
- TableLayoutPanelCodeDomSerializer.cs
- ServiceHostFactory.cs