Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Data / System / Data / DefaultValueTypeConverter.cs / 1 / DefaultValueTypeConverter.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
// [....]
// [....]
//-----------------------------------------------------------------------------
/*
*/
namespace System.Data {
using System.ComponentModel;
using System.ComponentModel.Design.Serialization;
using System.Diagnostics;
using System.Globalization;
///
/// Provides a type
/// converter that can be used to populate a list box with available types.
///
internal sealed class DefaultValueTypeConverter : StringConverter {
private static string nullString = "";
private static string dbNullString = "";
// converter classes should have public ctor
public DefaultValueTypeConverter() {
}
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) {
if (destinationType == null) {
throw new ArgumentNullException("destinationType");
}
if (destinationType == typeof(string)) {
if (value == null) {
return nullString;
}
else if (value == DBNull.Value) {
return dbNullString;
}
}
return base.ConvertTo(context, culture, value, destinationType);
}
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) {
if (value != null && value.GetType() == typeof(string)) {
string strValue = (string)value;
if (string.Compare(strValue, nullString, StringComparison.OrdinalIgnoreCase) == 0)
return null;
else if (string.Compare(strValue, dbNullString, StringComparison.OrdinalIgnoreCase) == 0)
return DBNull.Value;
}
return base.ConvertFrom(context, culture, 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
- Freezable.cs
- HyperLinkStyle.cs
- TypeName.cs
- ApplicationHost.cs
- initElementDictionary.cs
- BookmarkScopeManager.cs
- PrintPreviewDialog.cs
- EndOfStreamException.cs
- EdmItemError.cs
- SelectorAutomationPeer.cs
- UnsafeNativeMethods.cs
- ByteArrayHelperWithString.cs
- SqlClientMetaDataCollectionNames.cs
- CodeNamespace.cs
- Compiler.cs
- TimeSpanOrInfiniteValidator.cs
- Tablet.cs
- counter.cs
- CodeDomLocalizationProvider.cs
- WebServiceData.cs
- TableAdapterManagerMethodGenerator.cs
- _ConnectionGroup.cs
- SqlUtils.cs
- OdbcCommand.cs
- ConfigXmlComment.cs
- CoreSwitches.cs
- OdbcPermission.cs
- DataGridViewEditingControlShowingEventArgs.cs
- SoapSchemaImporter.cs
- SamlAuthorizationDecisionClaimResource.cs
- Publisher.cs
- clipboard.cs
- ISAPIRuntime.cs
- __Filters.cs
- DataGridViewCellParsingEventArgs.cs
- PriorityBinding.cs
- HostTimeoutsElement.cs
- InlineCategoriesDocument.cs
- TreeWalkHelper.cs
- ArgumentsParser.cs
- PeerToPeerException.cs
- XmlSchemaValidationException.cs
- CssStyleCollection.cs
- EventWaitHandleSecurity.cs
- LicFileLicenseProvider.cs
- WorkflowRuntime.cs
- Point3DAnimation.cs
- ServerIdentity.cs
- KeyGestureConverter.cs
- hwndwrapper.cs
- HttpHandlerActionCollection.cs
- SQLSingle.cs
- NavigationPropertySingletonExpression.cs
- RecognitionResult.cs
- Operand.cs
- Misc.cs
- ScrollBarRenderer.cs
- AttributeSetAction.cs
- PackageDigitalSignatureManager.cs
- XPathItem.cs
- ErrorProvider.cs
- BeginStoryboard.cs
- RegisterInfo.cs
- ScalarType.cs
- SerializableAttribute.cs
- HashMembershipCondition.cs
- SafeIUnknown.cs
- ClickablePoint.cs
- AutoResizedEvent.cs
- RemotingSurrogateSelector.cs
- ConfigLoader.cs
- RoutedCommand.cs
- ExceptionCollection.cs
- WeakReferenceEnumerator.cs
- WebPartMinimizeVerb.cs
- tibetanshape.cs
- FontStretches.cs
- ProxyHwnd.cs
- TemplateControlBuildProvider.cs
- XmlComplianceUtil.cs
- Comparer.cs
- StylusShape.cs
- CaseExpr.cs
- TimelineClockCollection.cs
- EllipseGeometry.cs
- RectAnimation.cs
- TypeInfo.cs
- ManifestResourceInfo.cs
- SmiMetaDataProperty.cs
- cookiecollection.cs
- CompModSwitches.cs
- EnumValidator.cs
- SizeAnimation.cs
- SID.cs
- StructuredCompositeActivityDesigner.cs
- AuthenticatedStream.cs
- DesignerImageAdapter.cs
- PaintEvent.cs
- ProcessHostFactoryHelper.cs
- DataObjectSettingDataEventArgs.cs