Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / ndp / fx / src / Data / System / Data / ProviderBase / DbParameterHelper.cs / 1 / DbParameterHelper.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
//-----------------------------------------------------------------------------
namespace NAMESPACE {
using System;
using System.ComponentModel;
using System.Data;
using System.Data.Common;
using System.Globalization;
public sealed partial class PARAMETEROBJECTNAME : DbParameter { // V1.2.3300
private object _value;
private object _parent;
private ParameterDirection _direction;
private int? _size;
#if USEOFFSET
private int _offset;
#endif
private string _sourceColumn;
private DataRowVersion _sourceVersion;
private bool _sourceColumnNullMapping;
private bool? _isNullable;
private object _coercedValue;
private PARAMETEROBJECTNAME(PARAMETEROBJECTNAME source) : this() { // V1.2.3300, Clone
ADP.CheckArgumentNull(source, "source");
source.CloneHelper(this);
ICloneable cloneable = (_value as ICloneable);
if (null != cloneable) { // MDAC 49322
_value = cloneable.Clone();
}
}
private object CoercedValue { // V1.2.3300
get {
return _coercedValue;
}
set {
_coercedValue = value;
}
}
///
///
///
[
RefreshProperties(RefreshProperties.All),
RESNAMESPACE.ResCategoryAttribute(Res.DataCategory_Data),
RESNAMESPACE.ResDescriptionAttribute(Res.DbParameter_Direction),
]
override public ParameterDirection Direction { // V1.2.3300, XXXParameter V1.0.3300
get {
ParameterDirection direction = _direction;
return ((0 != direction) ? direction : ParameterDirection.Input);
}
set {
if (_direction != value) {
switch (value) { // @perfnote: Enum.IsDefined
case ParameterDirection.Input:
case ParameterDirection.Output:
case ParameterDirection.InputOutput:
case ParameterDirection.ReturnValue:
PropertyChanging();
_direction = value;
break;
default:
throw ADP.InvalidParameterDirection(value);
}
}
}
}
///
///
///
override public bool IsNullable { // V1.2.3300, XXXParameter V1.0.3300
get {
bool result = this._isNullable.HasValue ? this._isNullable.Value : true;
return result;
}
set {
_isNullable = value;
}
}
#if USEOFFSET
///
///
///
[
Browsable(false),
EditorBrowsableAttribute(EditorBrowsableState.Advanced), // MDAC 69508
RESNAMESPACE.ResCategoryAttribute(Res.DataCategory_Data),
RESNAMESPACE.ResDescriptionAttribute(Res.DbParameter_Offset),
]
public int Offset {
get {
return _offset;
}
set {
if (value < 0) {
throw ADP.InvalidOffsetValue(value);
}
_offset = value;
}
}
#else
internal int Offset {
get {
return 0;
}
}
#endif
///
///
///
[
RESNAMESPACE.ResCategoryAttribute(Res.DataCategory_Data),
RESNAMESPACE.ResDescriptionAttribute(Res.DbParameter_Size),
]
override public int Size { // V1.2.3300, XXXParameter V1.0.3300
get {
int size = _size.HasValue ? _size.Value : 0;
if (0 == size) {
size = ValueSize(Value);
}
return size;
}
set {
if (!_size.HasValue || _size.Value != value) {
if (value < -1) {
throw ADP.InvalidSizeValue(value);
}
PropertyChanging();
if (0 == value) {
_size = null;
}
else {
_size = value;
}
}
}
}
private void ResetSize() {
if (_size.HasValue) {
PropertyChanging();
_size = null;
}
}
private bool ShouldSerializeSize() { // V1.2.3300
return (_size.HasValue && _size.Value != 0);
}
///
///
///
[
RESNAMESPACE.ResCategoryAttribute(Res.DataCategory_Update),
RESNAMESPACE.ResDescriptionAttribute(Res.DbParameter_SourceColumn),
]
override public string SourceColumn { // V1.2.3300, XXXParameter V1.0.3300
get {
string sourceColumn = _sourceColumn;
return ((null != sourceColumn) ? sourceColumn : ADP.StrEmpty);
}
set {
_sourceColumn = value;
}
}
///
///
///
public override bool SourceColumnNullMapping {
get {
return _sourceColumnNullMapping;
}
set {
_sourceColumnNullMapping = value;
}
}
///
///
///
[
RESNAMESPACE.ResCategoryAttribute(Res.DataCategory_Update),
RESNAMESPACE.ResDescriptionAttribute(Res.DbParameter_SourceVersion),
]
override public DataRowVersion SourceVersion { // V1.2.3300, XXXParameter V1.0.3300
get {
DataRowVersion sourceVersion = _sourceVersion;
return ((0 != sourceVersion) ? sourceVersion : DataRowVersion.Current);
}
set {
switch(value) { // @perfnote: Enum.IsDefined
case DataRowVersion.Original:
case DataRowVersion.Current:
case DataRowVersion.Proposed:
case DataRowVersion.Default:
_sourceVersion = value;
break;
default:
throw ADP.InvalidDataRowVersion(value);
}
}
}
private void CloneHelperCore(PARAMETEROBJECTNAME destination) {
destination._value = _value;
// NOTE: _parent is not cloned
destination._direction = _direction;
destination._size = _size;
#if USEOFFSET
destination._offset = _offset;
#endif
destination._sourceColumn = _sourceColumn;
destination._sourceVersion = _sourceVersion;
destination._sourceColumnNullMapping = _sourceColumnNullMapping;
destination._isNullable = _isNullable;
}
internal void CopyTo(DbParameter destination) {
ADP.CheckArgumentNull(destination, "destination");
CloneHelper((PARAMETEROBJECTNAME)destination);
}
internal object CompareExchangeParent(object value, object comparand) {
// the interlock guarantees same parameter won't belong to multiple collections
// at the same time, but to actually occur the user must really try
// since we never declared thread safety, we don't care at this time
//return System.Threading.Interlocked.CompareExchange(ref _parent, value, comparand);
object parent = _parent;
if (comparand == parent) {
_parent = value;
}
return parent;
}
internal void ResetParent() {
_parent = null;
}
///
///
///
///
override public string ToString() { // V1.2.3300, XXXParameter V1.0.3300
return ParameterName;
}
private byte ValuePrecisionCore(object value) { // V1.2.3300
if (value is Decimal) {
return ((System.Data.SqlTypes.SqlDecimal)(Decimal) value).Precision; // WebData 102913
}
return 0;
}
private byte ValueScaleCore(object value) { // V1.2.3300
if (value is Decimal) {
return (byte)((Decimal.GetBits((Decimal)value)[3] & 0x00ff0000) >> 0x10);
}
return 0;
}
private int ValueSizeCore(object value) { // V1.2.3300
if (!ADP.IsNull(value)) {
string svalue = (value as string);
if (null != svalue) {
return svalue.Length;
}
byte[] bvalue = (value as byte[]);
if (null != bvalue) {
return bvalue.Length;
}
char[] cvalue = (value as char[]);
if (null != cvalue) {
return cvalue.Length;
}
if ((value is byte) || (value is char)) {
return 1;
}
}
return 0;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
//-----------------------------------------------------------------------------
namespace NAMESPACE {
using System;
using System.ComponentModel;
using System.Data;
using System.Data.Common;
using System.Globalization;
public sealed partial class PARAMETEROBJECTNAME : DbParameter { // V1.2.3300
private object _value;
private object _parent;
private ParameterDirection _direction;
private int? _size;
#if USEOFFSET
private int _offset;
#endif
private string _sourceColumn;
private DataRowVersion _sourceVersion;
private bool _sourceColumnNullMapping;
private bool? _isNullable;
private object _coercedValue;
private PARAMETEROBJECTNAME(PARAMETEROBJECTNAME source) : this() { // V1.2.3300, Clone
ADP.CheckArgumentNull(source, "source");
source.CloneHelper(this);
ICloneable cloneable = (_value as ICloneable);
if (null != cloneable) { // MDAC 49322
_value = cloneable.Clone();
}
}
private object CoercedValue { // V1.2.3300
get {
return _coercedValue;
}
set {
_coercedValue = value;
}
}
///
///
///
[
RefreshProperties(RefreshProperties.All),
RESNAMESPACE.ResCategoryAttribute(Res.DataCategory_Data),
RESNAMESPACE.ResDescriptionAttribute(Res.DbParameter_Direction),
]
override public ParameterDirection Direction { // V1.2.3300, XXXParameter V1.0.3300
get {
ParameterDirection direction = _direction;
return ((0 != direction) ? direction : ParameterDirection.Input);
}
set {
if (_direction != value) {
switch (value) { // @perfnote: Enum.IsDefined
case ParameterDirection.Input:
case ParameterDirection.Output:
case ParameterDirection.InputOutput:
case ParameterDirection.ReturnValue:
PropertyChanging();
_direction = value;
break;
default:
throw ADP.InvalidParameterDirection(value);
}
}
}
}
///
///
///
override public bool IsNullable { // V1.2.3300, XXXParameter V1.0.3300
get {
bool result = this._isNullable.HasValue ? this._isNullable.Value : true;
return result;
}
set {
_isNullable = value;
}
}
#if USEOFFSET
///
///
///
[
Browsable(false),
EditorBrowsableAttribute(EditorBrowsableState.Advanced), // MDAC 69508
RESNAMESPACE.ResCategoryAttribute(Res.DataCategory_Data),
RESNAMESPACE.ResDescriptionAttribute(Res.DbParameter_Offset),
]
public int Offset {
get {
return _offset;
}
set {
if (value < 0) {
throw ADP.InvalidOffsetValue(value);
}
_offset = value;
}
}
#else
internal int Offset {
get {
return 0;
}
}
#endif
///
///
///
[
RESNAMESPACE.ResCategoryAttribute(Res.DataCategory_Data),
RESNAMESPACE.ResDescriptionAttribute(Res.DbParameter_Size),
]
override public int Size { // V1.2.3300, XXXParameter V1.0.3300
get {
int size = _size.HasValue ? _size.Value : 0;
if (0 == size) {
size = ValueSize(Value);
}
return size;
}
set {
if (!_size.HasValue || _size.Value != value) {
if (value < -1) {
throw ADP.InvalidSizeValue(value);
}
PropertyChanging();
if (0 == value) {
_size = null;
}
else {
_size = value;
}
}
}
}
private void ResetSize() {
if (_size.HasValue) {
PropertyChanging();
_size = null;
}
}
private bool ShouldSerializeSize() { // V1.2.3300
return (_size.HasValue && _size.Value != 0);
}
///
///
///
[
RESNAMESPACE.ResCategoryAttribute(Res.DataCategory_Update),
RESNAMESPACE.ResDescriptionAttribute(Res.DbParameter_SourceColumn),
]
override public string SourceColumn { // V1.2.3300, XXXParameter V1.0.3300
get {
string sourceColumn = _sourceColumn;
return ((null != sourceColumn) ? sourceColumn : ADP.StrEmpty);
}
set {
_sourceColumn = value;
}
}
///
///
///
public override bool SourceColumnNullMapping {
get {
return _sourceColumnNullMapping;
}
set {
_sourceColumnNullMapping = value;
}
}
///
///
///
[
RESNAMESPACE.ResCategoryAttribute(Res.DataCategory_Update),
RESNAMESPACE.ResDescriptionAttribute(Res.DbParameter_SourceVersion),
]
override public DataRowVersion SourceVersion { // V1.2.3300, XXXParameter V1.0.3300
get {
DataRowVersion sourceVersion = _sourceVersion;
return ((0 != sourceVersion) ? sourceVersion : DataRowVersion.Current);
}
set {
switch(value) { // @perfnote: Enum.IsDefined
case DataRowVersion.Original:
case DataRowVersion.Current:
case DataRowVersion.Proposed:
case DataRowVersion.Default:
_sourceVersion = value;
break;
default:
throw ADP.InvalidDataRowVersion(value);
}
}
}
private void CloneHelperCore(PARAMETEROBJECTNAME destination) {
destination._value = _value;
// NOTE: _parent is not cloned
destination._direction = _direction;
destination._size = _size;
#if USEOFFSET
destination._offset = _offset;
#endif
destination._sourceColumn = _sourceColumn;
destination._sourceVersion = _sourceVersion;
destination._sourceColumnNullMapping = _sourceColumnNullMapping;
destination._isNullable = _isNullable;
}
internal void CopyTo(DbParameter destination) {
ADP.CheckArgumentNull(destination, "destination");
CloneHelper((PARAMETEROBJECTNAME)destination);
}
internal object CompareExchangeParent(object value, object comparand) {
// the interlock guarantees same parameter won't belong to multiple collections
// at the same time, but to actually occur the user must really try
// since we never declared thread safety, we don't care at this time
//return System.Threading.Interlocked.CompareExchange(ref _parent, value, comparand);
object parent = _parent;
if (comparand == parent) {
_parent = value;
}
return parent;
}
internal void ResetParent() {
_parent = null;
}
///
///
///
///
override public string ToString() { // V1.2.3300, XXXParameter V1.0.3300
return ParameterName;
}
private byte ValuePrecisionCore(object value) { // V1.2.3300
if (value is Decimal) {
return ((System.Data.SqlTypes.SqlDecimal)(Decimal) value).Precision; // WebData 102913
}
return 0;
}
private byte ValueScaleCore(object value) { // V1.2.3300
if (value is Decimal) {
return (byte)((Decimal.GetBits((Decimal)value)[3] & 0x00ff0000) >> 0x10);
}
return 0;
}
private int ValueSizeCore(object value) { // V1.2.3300
if (!ADP.IsNull(value)) {
string svalue = (value as string);
if (null != svalue) {
return svalue.Length;
}
byte[] bvalue = (value as byte[]);
if (null != bvalue) {
return bvalue.Length;
}
char[] cvalue = (value as char[]);
if (null != cvalue) {
return cvalue.Length;
}
if ((value is byte) || (value is char)) {
return 1;
}
}
return 0;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- StrokeNodeEnumerator.cs
- ExpressionVisitorHelpers.cs
- StylusPointPropertyInfoDefaults.cs
- RootDesignerSerializerAttribute.cs
- FontInfo.cs
- DirectoryGroupQuery.cs
- RoutedEvent.cs
- XmlUtf8RawTextWriter.cs
- CompensationTokenData.cs
- DataGridAddNewRow.cs
- ConfigWriter.cs
- WizardStepBase.cs
- SizeFConverter.cs
- AesManaged.cs
- FunctionDescription.cs
- Selector.cs
- RenderDataDrawingContext.cs
- FrameworkContentElementAutomationPeer.cs
- IdentityNotMappedException.cs
- MessagePropertyFilter.cs
- OleDbException.cs
- TextEditorTyping.cs
- CustomSignedXml.cs
- DetailsViewInsertedEventArgs.cs
- RemotingHelper.cs
- NativeMethods.cs
- DataGridRow.cs
- SapiAttributeParser.cs
- WorkflowValidationFailedException.cs
- SpotLight.cs
- hresults.cs
- DataBinding.cs
- HandleCollector.cs
- BulletChrome.cs
- _TransmitFileOverlappedAsyncResult.cs
- TextFormattingConverter.cs
- QueryOperationResponseOfT.cs
- ComboBoxItem.cs
- DispatcherTimer.cs
- BindingExpressionBase.cs
- InputLanguage.cs
- OptimizerPatterns.cs
- MemoryRecordBuffer.cs
- DisplayNameAttribute.cs
- DoubleLinkListEnumerator.cs
- TextSerializer.cs
- Help.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs
- Monitor.cs
- ErrorWebPart.cs
- MsmqNonTransactedPoisonHandler.cs
- HostingEnvironment.cs
- Tag.cs
- TemplateBindingExtension.cs
- ToolStripDropDownDesigner.cs
- ToolStripContentPanelRenderEventArgs.cs
- CustomTypeDescriptor.cs
- XmlSerializerSection.cs
- ToolboxItemFilterAttribute.cs
- WebBaseEventKeyComparer.cs
- SecurityUtils.cs
- SaveFileDialog.cs
- Token.cs
- SecureConversationSecurityTokenParameters.cs
- HtmlProps.cs
- TimeoutHelper.cs
- LinkedList.cs
- Menu.cs
- DocumentPageView.cs
- KeyedHashAlgorithm.cs
- EditModeSwitchButton.cs
- MailSettingsSection.cs
- EncodingTable.cs
- ButtonPopupAdapter.cs
- IntegrationExceptionEventArgs.cs
- SqlGatherConsumedAliases.cs
- RelationshipConverter.cs
- StringStorage.cs
- GridViewRowEventArgs.cs
- _PooledStream.cs
- NodeCounter.cs
- WSSecureConversation.cs
- RuntimeConfig.cs
- CreationContext.cs
- PseudoWebRequest.cs
- ProviderBase.cs
- PathParser.cs
- XamlSerializer.cs
- MetadataItem_Static.cs
- SiteMapNodeCollection.cs
- WindowsRichEditRange.cs
- ImageSource.cs
- AccessDataSourceDesigner.cs
- TextLine.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- SqlMethodCallConverter.cs
- ConfigXmlText.cs
- AttributeData.cs
- ProcessThreadCollection.cs
- DataGridViewCellCollection.cs