Code:
/ FX-1434 / FX-1434 / 1.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
- SessionSwitchEventArgs.cs
- DataGridColumnReorderingEventArgs.cs
- TableDetailsCollection.cs
- RuntimeWrappedException.cs
- KnownBoxes.cs
- Compilation.cs
- UriExt.cs
- SemaphoreSecurity.cs
- MaterialGroup.cs
- ConstraintCollection.cs
- ToolStrip.cs
- InkCanvasAutomationPeer.cs
- QilTernary.cs
- RegexReplacement.cs
- Grant.cs
- Literal.cs
- ParameterBuilder.cs
- WsdlImporter.cs
- XsdDuration.cs
- ValidationResult.cs
- Panel.cs
- ProtocolElement.cs
- ParseElementCollection.cs
- AttributeQuery.cs
- TextEditorSelection.cs
- BitmapDecoder.cs
- MaxSessionCountExceededException.cs
- ParserHooks.cs
- ClientData.cs
- DefaultDiscoveryService.cs
- XmlEnumAttribute.cs
- CurrentChangingEventManager.cs
- RealProxy.cs
- sqlser.cs
- TreeViewHitTestInfo.cs
- VariableBinder.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- ApplicationFileParser.cs
- OpenFileDialog.cs
- BrushConverter.cs
- ApplicationTrust.cs
- TextEditorCharacters.cs
- MailAddressParser.cs
- IdentitySection.cs
- FontEditor.cs
- FullTextLine.cs
- translator.cs
- LogicalExpr.cs
- MsmqBindingMonitor.cs
- TextTreeTextElementNode.cs
- BufferedStream.cs
- RoleManagerEventArgs.cs
- StateDesigner.cs
- XmlILOptimizerVisitor.cs
- XPathSelectionIterator.cs
- XNameConverter.cs
- Int64.cs
- SinglePageViewer.cs
- Table.cs
- SystemIPv4InterfaceProperties.cs
- PKCS1MaskGenerationMethod.cs
- MostlySingletonList.cs
- OleDbCommand.cs
- ConfigurationException.cs
- EntityCodeGenerator.cs
- XmlText.cs
- _IPv6Address.cs
- AttachedAnnotationChangedEventArgs.cs
- ParameterCollection.cs
- NamespaceMapping.cs
- ObjectParameter.cs
- ProxyElement.cs
- InkCanvasFeedbackAdorner.cs
- DataTableMapping.cs
- ContextMenuStrip.cs
- ProxyDataContractResolver.cs
- TraceSection.cs
- DateTimeFormatInfoScanner.cs
- ErrorInfoXmlDocument.cs
- columnmapkeybuilder.cs
- BindingCollection.cs
- __Filters.cs
- SpecularMaterial.cs
- DataPagerFieldCollection.cs
- TreeViewImageIndexConverter.cs
- SymmetricKey.cs
- CounterCreationData.cs
- TimeStampChecker.cs
- SettingsPropertyWrongTypeException.cs
- SqlUtil.cs
- MethodBody.cs
- InstanceData.cs
- ZipIOLocalFileDataDescriptor.cs
- TextBoxAutomationPeer.cs
- HeaderElement.cs
- ReceiveActivityValidator.cs
- NumberAction.cs
- TemplateControlBuildProvider.cs
- FtpCachePolicyElement.cs
- ReferenceEqualityComparer.cs