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
- ContextStaticAttribute.cs
- UdpTransportBindingElement.cs
- Calendar.cs
- SessionPageStateSection.cs
- CapabilitiesSection.cs
- MobileResource.cs
- ADMembershipProvider.cs
- XamlVector3DCollectionSerializer.cs
- SafeArrayRankMismatchException.cs
- OdbcConnectionOpen.cs
- DNS.cs
- PrinterUnitConvert.cs
- DoubleLinkList.cs
- BaseCollection.cs
- DoubleUtil.cs
- WebPartActionVerb.cs
- DispatcherHooks.cs
- StrongNameMembershipCondition.cs
- URLEditor.cs
- OpenTypeCommon.cs
- AssemblySettingAttributes.cs
- AssemblyContextControlItem.cs
- DataGridViewComboBoxEditingControl.cs
- TableHeaderCell.cs
- StrongNamePublicKeyBlob.cs
- SoapObjectInfo.cs
- TrackingServices.cs
- X509ChainElement.cs
- SoundPlayerAction.cs
- FixUpCollection.cs
- ImageAnimator.cs
- TableDetailsRow.cs
- SmtpLoginAuthenticationModule.cs
- InvokePattern.cs
- ScrollBar.cs
- WebDisplayNameAttribute.cs
- CompositeCollection.cs
- QuaternionIndependentAnimationStorage.cs
- SqlClientFactory.cs
- PathSegment.cs
- AccessDataSource.cs
- TableSectionStyle.cs
- WebPartRestoreVerb.cs
- NumberAction.cs
- AccessibleObject.cs
- CodeIterationStatement.cs
- SizeValueSerializer.cs
- COSERVERINFO.cs
- DrawingAttributesDefaultValueFactory.cs
- ManifestResourceInfo.cs
- _UriTypeConverter.cs
- Row.cs
- BinHexDecoder.cs
- XmlJsonWriter.cs
- coordinatorscratchpad.cs
- FileEnumerator.cs
- TypedRowHandler.cs
- TableRow.cs
- HotCommands.cs
- SiteMapNode.cs
- DataGridPagingPage.cs
- ListBoxItem.cs
- ProgressPage.cs
- ArithmeticException.cs
- InkSerializer.cs
- GlyphRun.cs
- VersionedStreamOwner.cs
- CalendarAutoFormatDialog.cs
- DefaultValueAttribute.cs
- FillRuleValidation.cs
- WindowsUpDown.cs
- BaseCodeDomTreeGenerator.cs
- PlacementWorkspace.cs
- AddInStore.cs
- BitmapEffectGeneralTransform.cs
- CodeValidator.cs
- InternalMappingException.cs
- ZoneIdentityPermission.cs
- ClassicBorderDecorator.cs
- SpAudioStreamWrapper.cs
- DrawingContextWalker.cs
- MemoryMappedViewAccessor.cs
- DataServiceQueryProvider.cs
- DataGridViewRowPrePaintEventArgs.cs
- InkCanvas.cs
- XmlEncoding.cs
- arc.cs
- METAHEADER.cs
- Array.cs
- Column.cs
- DataSourceDescriptorCollection.cs
- OleDbErrorCollection.cs
- ItemsPanelTemplate.cs
- IISUnsafeMethods.cs
- MimeFormatter.cs
- ToolStripItemCollection.cs
- ScaleTransform.cs
- UrlPath.cs
- ContractInferenceHelper.cs
- ProxyHelper.cs