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
- TreeNode.cs
- SequentialUshortCollection.cs
- InspectionWorker.cs
- XmlAttributes.cs
- DataControlFieldCollection.cs
- DataGridColumnsPage.cs
- LinqDataSourceDisposeEventArgs.cs
- ControlsConfig.cs
- GridViewRowCollection.cs
- safesecurityhelperavalon.cs
- CompositeControl.cs
- WebServicesInteroperability.cs
- DebugTrace.cs
- StackSpiller.cs
- EventWaitHandleSecurity.cs
- SemanticResultValue.cs
- CompiledQueryCacheEntry.cs
- TextAction.cs
- SQLInt32.cs
- ToolboxItemCollection.cs
- PageContent.cs
- ConfigurationManagerHelperFactory.cs
- ThrowHelper.cs
- TabControlEvent.cs
- DynamicQueryableWrapper.cs
- WmlPanelAdapter.cs
- KeyBinding.cs
- DelayDesigner.cs
- Timeline.cs
- DCSafeHandle.cs
- UxThemeWrapper.cs
- SystemTcpConnection.cs
- WmlCalendarAdapter.cs
- SortQuery.cs
- DrawingBrush.cs
- CheckBoxAutomationPeer.cs
- ValuePattern.cs
- NonBatchDirectoryCompiler.cs
- StandardOleMarshalObject.cs
- OutputCacheSection.cs
- XamlSerializerUtil.cs
- ProjectionPath.cs
- SelectionPatternIdentifiers.cs
- OpCellTreeNode.cs
- TraceUtility.cs
- PropertyDescriptorGridEntry.cs
- Environment.cs
- EventLogPropertySelector.cs
- WebPartManagerInternals.cs
- DataKeyCollection.cs
- CopyCodeAction.cs
- SqlDataSourceParameterParser.cs
- ReachFixedPageSerializer.cs
- VerticalAlignConverter.cs
- ListViewSelectEventArgs.cs
- AbandonedMutexException.cs
- SynchronizingStream.cs
- FormatSettings.cs
- HtmlInputHidden.cs
- TypeTypeConverter.cs
- SqlBooleanizer.cs
- AmbientLight.cs
- AnonymousIdentificationModule.cs
- JournalEntryStack.cs
- BaseUriWithWildcard.cs
- Geometry3D.cs
- ADConnectionHelper.cs
- TCPListener.cs
- FilterException.cs
- PeerNodeTraceRecord.cs
- _PooledStream.cs
- ZipArchive.cs
- ArgumentsParser.cs
- IntPtr.cs
- X509ChainElement.cs
- RepeaterCommandEventArgs.cs
- DbReferenceCollection.cs
- MediaTimeline.cs
- Assert.cs
- SslStreamSecurityUpgradeProvider.cs
- RectAnimationUsingKeyFrames.cs
- JsonReader.cs
- LinearGradientBrush.cs
- XmlSchemaAttribute.cs
- DocumentViewerBase.cs
- NotifyCollectionChangedEventArgs.cs
- _LazyAsyncResult.cs
- PropertySet.cs
- ButtonBase.cs
- WebServiceMethodData.cs
- HttpServerVarsCollection.cs
- HtmlInputPassword.cs
- CompareValidator.cs
- DbResourceAllocator.cs
- BitSet.cs
- XmlSchemaAll.cs
- EntityDataSourceDesigner.cs
- itemelement.cs
- ExceptionAggregator.cs
- EditingMode.cs