Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / CompMod / System / ComponentModel / GuidConverter.cs / 1 / GuidConverter.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
/*
*/
namespace System.ComponentModel {
using Microsoft.Win32;
using System.ComponentModel.Design.Serialization;
using System.Diagnostics;
using System.Globalization;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Runtime.Remoting;
using System.Runtime.Serialization.Formatters;
using System.Security.Permissions;
///
/// Provides a
/// type converter to convert globally unique identifier objects to and from various
/// other representations.
///
[HostProtection(SharedState = true)]
public class GuidConverter : TypeConverter {
///
/// Gets a value indicating whether this
/// converter can convert an object in the given source type to a globally unique identifier object
/// using the context.
///
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) {
if (sourceType == typeof(string)) {
return true;
}
return base.CanConvertFrom(context, sourceType);
}
///
/// Gets a value indicating whether this converter can
/// convert an object to the given destination type using the context.
///
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) {
if (destinationType == typeof(InstanceDescriptor)) {
return true;
}
return base.CanConvertTo(context, destinationType);
}
///
/// Converts
/// the given object to a globally unique identifier object.
///
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) {
if (value is string) {
string text = ((string)value).Trim();
return new Guid(text);
}
return base.ConvertFrom(context, culture, value);
}
///
/// Converts the given object to another type. The most common types to convert
/// are to and from a string object. The default implementation will make a call
/// to ToString on the object if the object is valid and if the destination
/// type is string. If this cannot convert to the desitnation type, this will
/// throw a NotSupportedException.
///
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) {
if (destinationType == null) {
throw new ArgumentNullException("destinationType");
}
if (destinationType == typeof(InstanceDescriptor) && value is Guid) {
ConstructorInfo ctor = typeof(Guid).GetConstructor(new Type[] {typeof(string)});
if (ctor != null) {
return new InstanceDescriptor(ctor, new object[] {value.ToString()});
}
}
return base.ConvertTo(context, culture, value, destinationType);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
/*
*/
namespace System.ComponentModel {
using Microsoft.Win32;
using System.ComponentModel.Design.Serialization;
using System.Diagnostics;
using System.Globalization;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Runtime.Remoting;
using System.Runtime.Serialization.Formatters;
using System.Security.Permissions;
///
/// Provides a
/// type converter to convert globally unique identifier objects to and from various
/// other representations.
///
[HostProtection(SharedState = true)]
public class GuidConverter : TypeConverter {
///
/// Gets a value indicating whether this
/// converter can convert an object in the given source type to a globally unique identifier object
/// using the context.
///
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) {
if (sourceType == typeof(string)) {
return true;
}
return base.CanConvertFrom(context, sourceType);
}
///
/// Gets a value indicating whether this converter can
/// convert an object to the given destination type using the context.
///
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) {
if (destinationType == typeof(InstanceDescriptor)) {
return true;
}
return base.CanConvertTo(context, destinationType);
}
///
/// Converts
/// the given object to a globally unique identifier object.
///
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) {
if (value is string) {
string text = ((string)value).Trim();
return new Guid(text);
}
return base.ConvertFrom(context, culture, value);
}
///
/// Converts the given object to another type. The most common types to convert
/// are to and from a string object. The default implementation will make a call
/// to ToString on the object if the object is valid and if the destination
/// type is string. If this cannot convert to the desitnation type, this will
/// throw a NotSupportedException.
///
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) {
if (destinationType == null) {
throw new ArgumentNullException("destinationType");
}
if (destinationType == typeof(InstanceDescriptor) && value is Guid) {
ConstructorInfo ctor = typeof(Guid).GetConstructor(new Type[] {typeof(string)});
if (ctor != null) {
return new InstanceDescriptor(ctor, new object[] {value.ToString()});
}
}
return base.ConvertTo(context, culture, value, destinationType);
}
}
}
// 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
- Parallel.cs
- BooleanFunctions.cs
- SelectionItemProviderWrapper.cs
- IxmlLineInfo.cs
- DesignerSerializerAttribute.cs
- TextContainerChangedEventArgs.cs
- ViewCellSlot.cs
- Operator.cs
- HttpClientCertificate.cs
- AssemblyBuilder.cs
- WpfKnownMemberInvoker.cs
- ContextMarshalException.cs
- ApplicationHost.cs
- XmlILStorageConverter.cs
- RuleSetDialog.Designer.cs
- SecurityValidationBehavior.cs
- BaseAppDomainProtocolHandler.cs
- WhereQueryOperator.cs
- PersonalizationStateQuery.cs
- GlobalizationAssembly.cs
- SafeCryptoKeyHandle.cs
- DrawingContextWalker.cs
- EndPoint.cs
- Polygon.cs
- SplashScreenNativeMethods.cs
- Geometry3D.cs
- NumberFormatInfo.cs
- NameSpaceExtractor.cs
- TdsParserStaticMethods.cs
- SerialPinChanges.cs
- DesignerImageAdapter.cs
- SessionSwitchEventArgs.cs
- EntityParameter.cs
- DataGridViewCellParsingEventArgs.cs
- XmlDictionary.cs
- SystemDropShadowChrome.cs
- ColorConvertedBitmap.cs
- PropertyIDSet.cs
- InternalBufferOverflowException.cs
- _AutoWebProxyScriptHelper.cs
- XDeferredAxisSource.cs
- StylusDevice.cs
- CodeArrayIndexerExpression.cs
- ConfigXmlText.cs
- EdmToObjectNamespaceMap.cs
- SettingsBindableAttribute.cs
- PartialToken.cs
- RunClient.cs
- HttpWebResponse.cs
- MetadataArtifactLoaderCompositeFile.cs
- SemanticKeyElement.cs
- ToolTip.cs
- SchemaTypeEmitter.cs
- DrawingBrush.cs
- ObjectStateEntryOriginalDbUpdatableDataRecord.cs
- ConstraintEnumerator.cs
- TextContainerHelper.cs
- smtpconnection.cs
- DataListItem.cs
- PreProcessInputEventArgs.cs
- MachineKeyConverter.cs
- CombinedGeometry.cs
- SafeEventLogReadHandle.cs
- ServiceModelSecurityTokenTypes.cs
- ExtentKey.cs
- SplitterCancelEvent.cs
- StreamAsIStream.cs
- SignatureDescription.cs
- DiscriminatorMap.cs
- HttpPostServerProtocol.cs
- Selector.cs
- ValidatingPropertiesEventArgs.cs
- WindowsGraphicsCacheManager.cs
- DocumentGrid.cs
- FileDetails.cs
- ImageMap.cs
- DataTableClearEvent.cs
- SemanticTag.cs
- IDataContractSurrogate.cs
- ThreadAttributes.cs
- LogConverter.cs
- BamlBinaryReader.cs
- File.cs
- StylusButtonCollection.cs
- DPTypeDescriptorContext.cs
- ConstraintStruct.cs
- CustomAttributeFormatException.cs
- DataGridViewControlCollection.cs
- QilLoop.cs
- TemplateBuilder.cs
- CustomValidator.cs
- HtmlInputButton.cs
- VirtualPathUtility.cs
- CacheMemory.cs
- ExpressionBuilder.cs
- ColumnMapCopier.cs
- CategoryAttribute.cs
- UIInitializationException.cs
- PriorityChain.cs
- DataRelationCollection.cs