Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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; ////// [HostProtection(SharedState = true)] public class GuidConverter : TypeConverter { ///Provides a /// type converter to convert globally unique identifier objects to and from various /// other representations. ////// 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 in the given source type to a globally unique identifier object /// using the context. ////// public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { if (destinationType == typeof(InstanceDescriptor)) { return true; } return base.CanConvertTo(context, destinationType); } ///Gets a value indicating whether this converter can /// convert an object to the given destination type using the context. ////// 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 a globally unique identifier object. ////// 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; ////// [HostProtection(SharedState = true)] public class GuidConverter : TypeConverter { ///Provides a /// type converter to convert globally unique identifier objects to and from various /// other representations. ////// 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 in the given source type to a globally unique identifier object /// using the context. ////// public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { if (destinationType == typeof(InstanceDescriptor)) { return true; } return base.CanConvertTo(context, destinationType); } ///Gets a value indicating whether this converter can /// convert an object to the given destination type using the context. ////// 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 a globally unique identifier object. ////// 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
- CaseStatement.cs
- ToolStripDesignerAvailabilityAttribute.cs
- XpsFixedDocumentSequenceReaderWriter.cs
- SqlConnectionPoolProviderInfo.cs
- GACMembershipCondition.cs
- IPCCacheManager.cs
- Triangle.cs
- ParserOptions.cs
- Trace.cs
- ConfigurationPropertyAttribute.cs
- UnsignedPublishLicense.cs
- XmlArrayItemAttribute.cs
- ComponentEvent.cs
- KeyMatchBuilder.cs
- WinCategoryAttribute.cs
- GridItemCollection.cs
- PenThreadWorker.cs
- ColumnProvider.cs
- TextBox.cs
- UiaCoreApi.cs
- SqlAliasesReferenced.cs
- PeerResolverSettings.cs
- AddingNewEventArgs.cs
- OleServicesContext.cs
- FormsAuthenticationEventArgs.cs
- DisplayInformation.cs
- QueryOperationResponseOfT.cs
- FrameDimension.cs
- DictionaryBase.cs
- FixedStringLookup.cs
- UnicodeEncoding.cs
- Unit.cs
- SafeHandles.cs
- DataListCommandEventArgs.cs
- MouseActionValueSerializer.cs
- RIPEMD160Managed.cs
- ISAPIWorkerRequest.cs
- DataTemplate.cs
- String.cs
- PriorityItem.cs
- x509store.cs
- KeyMatchBuilder.cs
- TextFindEngine.cs
- RegionIterator.cs
- InternalControlCollection.cs
- RepeatButton.cs
- BaseCollection.cs
- InputScopeManager.cs
- WebPartEditorApplyVerb.cs
- EntityClassGenerator.cs
- TransactionException.cs
- Stopwatch.cs
- ChangeTracker.cs
- PopOutPanel.cs
- RootProjectionNode.cs
- ReverseInheritProperty.cs
- SqlProviderUtilities.cs
- XmlTextAttribute.cs
- TextUtf8RawTextWriter.cs
- NamespaceImport.cs
- LocalizableResourceBuilder.cs
- RectAnimationBase.cs
- ImageClickEventArgs.cs
- BitmapMetadataEnumerator.cs
- ResourceContainer.cs
- KoreanLunisolarCalendar.cs
- Rotation3DKeyFrameCollection.cs
- XPathMessageContext.cs
- MD5.cs
- WriteableBitmap.cs
- TextEditorTyping.cs
- ServerValidateEventArgs.cs
- ISO2022Encoding.cs
- SecurityPermission.cs
- FirewallWrapper.cs
- ProtocolsInstallComponent.cs
- DragDrop.cs
- MultipartContentParser.cs
- MasterPage.cs
- SafeRightsManagementQueryHandle.cs
- AnimationClock.cs
- AlternationConverter.cs
- PropertyItemInternal.cs
- ObjectDataSourceChooseMethodsPanel.cs
- LazyTextWriterCreator.cs
- ToolStripItemImageRenderEventArgs.cs
- ClientConfigurationHost.cs
- ContainerUtilities.cs
- PackagePartCollection.cs
- ProcessProtocolHandler.cs
- ResXBuildProvider.cs
- SetterBaseCollection.cs
- StreamWriter.cs
- ProtocolReflector.cs
- RadioButton.cs
- Vector.cs
- WebPartMovingEventArgs.cs
- propertytag.cs
- SqlConnection.cs
- UnmanagedMemoryStream.cs