Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Int64Converter.cs
- EntityDataReader.cs
- DataExpression.cs
- BufferedGraphics.cs
- CommandValueSerializer.cs
- DNS.cs
- SqlTypesSchemaImporter.cs
- DesignerActionGlyph.cs
- Exceptions.cs
- DbDataRecord.cs
- XamlStackWriter.cs
- KeyGestureValueSerializer.cs
- UIElementAutomationPeer.cs
- TemplateColumn.cs
- RtfControlWordInfo.cs
- ClientSettingsProvider.cs
- SqlClientWrapperSmiStream.cs
- FixedSOMTableCell.cs
- CommonProperties.cs
- ComPlusDiagnosticTraceRecords.cs
- DbLambda.cs
- _ShellExpression.cs
- BamlTreeMap.cs
- RuntimeHandles.cs
- GeneralTransform3DTo2D.cs
- WindowsListBox.cs
- EntityDescriptor.cs
- GradientBrush.cs
- util.cs
- AlignmentXValidation.cs
- Subordinate.cs
- GridViewColumnCollectionChangedEventArgs.cs
- DesignerRegionMouseEventArgs.cs
- IResourceProvider.cs
- Vertex.cs
- InteropBitmapSource.cs
- SharedPersonalizationStateInfo.cs
- WindowsRebar.cs
- SchemaElementLookUpTable.cs
- TextMarkerSource.cs
- OleDbException.cs
- XmlSchemaComplexContent.cs
- UnmanagedMemoryStream.cs
- Rijndael.cs
- SubtreeProcessor.cs
- DataGridViewCellStyleChangedEventArgs.cs
- FontEmbeddingManager.cs
- ObjectNotFoundException.cs
- ExtensionQuery.cs
- ObjectToIdCache.cs
- DataComponentGenerator.cs
- Misc.cs
- SqlDependency.cs
- RemotingHelper.cs
- WebEventTraceProvider.cs
- XmlDataDocument.cs
- SelectedGridItemChangedEvent.cs
- CalendarButton.cs
- ForeignKeyConstraint.cs
- HttpCachePolicyElement.cs
- LinkLabel.cs
- TdsParserSafeHandles.cs
- Configuration.cs
- ColumnHeaderCollectionEditor.cs
- SimpleMailWebEventProvider.cs
- TypedAsyncResult.cs
- Debugger.cs
- XsdBuildProvider.cs
- ValidateNames.cs
- DataBoundControlHelper.cs
- Dynamic.cs
- GroupBox.cs
- HttpFileCollection.cs
- CodeTypeOfExpression.cs
- HScrollProperties.cs
- DbDataRecord.cs
- RankException.cs
- DbConvert.cs
- SizeChangedInfo.cs
- TemplateDefinition.cs
- FlowLayoutSettings.cs
- ListenerElementsCollection.cs
- BamlLocalizableResource.cs
- DBBindings.cs
- _SafeNetHandles.cs
- DbReferenceCollection.cs
- basevalidator.cs
- FontFaceLayoutInfo.cs
- ObjectDataSourceDisposingEventArgs.cs
- XmlReader.cs
- ValidatorCollection.cs
- XmlCustomFormatter.cs
- TrackingWorkflowEventArgs.cs
- QilFactory.cs
- ObjectAssociationEndMapping.cs
- SoapHeaders.cs
- TableCell.cs
- AssociatedControlConverter.cs
- SelectionListDesigner.cs
- AccessDataSourceView.cs