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
- ParameterModifier.cs
- MouseWheelEventArgs.cs
- BamlLocalizableResource.cs
- xsdvalidator.cs
- ServiceAuthorizationBehavior.cs
- ProgressBar.cs
- DataServiceConfiguration.cs
- EditCommandColumn.cs
- XmlILIndex.cs
- Accessible.cs
- RowsCopiedEventArgs.cs
- ProxyBuilder.cs
- ChannelTracker.cs
- Journal.cs
- MembershipUser.cs
- VisualTreeHelper.cs
- DispatcherExceptionFilterEventArgs.cs
- Int32Rect.cs
- ObjectDataSourceChooseTypePanel.cs
- SupportingTokenProviderSpecification.cs
- _NativeSSPI.cs
- ListViewDeletedEventArgs.cs
- ContentType.cs
- safelink.cs
- TabControl.cs
- ListSortDescriptionCollection.cs
- DataReceivedEventArgs.cs
- FamilyMap.cs
- EntityContainerRelationshipSet.cs
- SingleStorage.cs
- KeyValueConfigurationElement.cs
- DBSqlParserTableCollection.cs
- XmlExpressionDumper.cs
- ComponentGuaranteesAttribute.cs
- FrameworkRichTextComposition.cs
- ControlPropertyNameConverter.cs
- NeutralResourcesLanguageAttribute.cs
- ViewLoader.cs
- InvalidDocumentContentsException.cs
- DataGridViewUtilities.cs
- Trigger.cs
- BlockCollection.cs
- UserThread.cs
- DataGridItem.cs
- CrossContextChannel.cs
- FileVersionInfo.cs
- SwitchAttribute.cs
- Floater.cs
- CodeConstructor.cs
- Listbox.cs
- NonParentingControl.cs
- TreeWalker.cs
- WebEncodingValidator.cs
- TransportElement.cs
- PluggableProtocol.cs
- DbProviderFactories.cs
- Formatter.cs
- OdbcConnectionHandle.cs
- ListViewPagedDataSource.cs
- HostingPreferredMapPath.cs
- FieldNameLookup.cs
- DesignerActionHeaderItem.cs
- TreeIterator.cs
- KeyNameIdentifierClause.cs
- UDPClient.cs
- RowToFieldTransformer.cs
- ExpressionLexer.cs
- DebugView.cs
- SqlNodeAnnotations.cs
- DrawTreeNodeEventArgs.cs
- Point4DConverter.cs
- ClientSideQueueItem.cs
- UIElement3D.cs
- PointAnimationBase.cs
- TrimSurroundingWhitespaceAttribute.cs
- BitFlagsGenerator.cs
- FileSystemEventArgs.cs
- COM2EnumConverter.cs
- XmlValidatingReader.cs
- DragEvent.cs
- Timeline.cs
- PointCollectionConverter.cs
- RowUpdatedEventArgs.cs
- RequestSecurityTokenForGetBrowserToken.cs
- ImmComposition.cs
- DataGridViewComboBoxColumn.cs
- OptimisticConcurrencyException.cs
- BamlTreeMap.cs
- DefaultConfirmation.cs
- RenderTargetBitmap.cs
- XamlSerializer.cs
- MediaTimeline.cs
- GridItemPattern.cs
- BaseProcessor.cs
- MD5.cs
- Command.cs
- MailAddress.cs
- EntityTransaction.cs
- Parser.cs
- BooleanToVisibilityConverter.cs