Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Framework / System / Windows / Markup / TypeExtensionConverter.cs / 1 / TypeExtensionConverter.cs
//------------------------------------------------------------------------ // // Microsoft Windows Client Platform // Copyright (C) Microsoft Corporation, 2005 // // File: TypeExtensionConverter.cs // // Contents: Converter to convert TypeExtensions to InstanceDescriptors // Created: 04/28/2005 [....] // //----------------------------------------------------------------------- using System; using System.ComponentModel; using System.ComponentModel.Design.Serialization; using System.Collections.Generic; using System.Text; using System.Security; namespace System.Windows.Markup { class TypeExtensionConverter : TypeConverter { public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { if (destinationType == typeof(InstanceDescriptor)) { return true; } return base.CanConvertTo(context, destinationType); } ////// Critical: calls InstanceDescriptor ctor which LinkDemands /// TreatAsSafe: can only make an InstanceDescriptor for TypeExtension, not an arbitrary class /// [SecurityCritical, SecurityTreatAsSafe] public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) { if (destinationType == typeof(InstanceDescriptor)) { TypeExtension typeExtension = value as TypeExtension; if (typeExtension == null) { throw new ArgumentException(SR.Get(SRID.MustBeOfType, "value", "TypeExtension")); } return new InstanceDescriptor(typeof(TypeExtension).GetConstructor(new Type[] { typeof(Type) }), new object[] { typeExtension.Type }); } 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. //------------------------------------------------------------------------ // // Microsoft Windows Client Platform // Copyright (C) Microsoft Corporation, 2005 // // File: TypeExtensionConverter.cs // // Contents: Converter to convert TypeExtensions to InstanceDescriptors // Created: 04/28/2005 [....] // //----------------------------------------------------------------------- using System; using System.ComponentModel; using System.ComponentModel.Design.Serialization; using System.Collections.Generic; using System.Text; using System.Security; namespace System.Windows.Markup { class TypeExtensionConverter : TypeConverter { public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { if (destinationType == typeof(InstanceDescriptor)) { return true; } return base.CanConvertTo(context, destinationType); } ////// Critical: calls InstanceDescriptor ctor which LinkDemands /// TreatAsSafe: can only make an InstanceDescriptor for TypeExtension, not an arbitrary class /// [SecurityCritical, SecurityTreatAsSafe] public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) { if (destinationType == typeof(InstanceDescriptor)) { TypeExtension typeExtension = value as TypeExtension; if (typeExtension == null) { throw new ArgumentException(SR.Get(SRID.MustBeOfType, "value", "TypeExtension")); } return new InstanceDescriptor(typeof(TypeExtension).GetConstructor(new Type[] { typeof(Type) }), new object[] { typeExtension.Type }); } 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlExpressionDumper.cs
- InfoCardTraceRecord.cs
- UntypedNullExpression.cs
- FontSource.cs
- Point3DCollection.cs
- TextElementCollection.cs
- GreenMethods.cs
- ZoneButton.cs
- SerializerProvider.cs
- FloaterParaClient.cs
- UriTemplateTrieLocation.cs
- SqlVersion.cs
- COSERVERINFO.cs
- ZipPackagePart.cs
- Currency.cs
- HttpWebRequest.cs
- RadioButtonFlatAdapter.cs
- ValidatingReaderNodeData.cs
- DataTemplateSelector.cs
- CacheModeConverter.cs
- IndentTextWriter.cs
- IpcClientManager.cs
- WindowsListViewItem.cs
- OdbcCommand.cs
- SponsorHelper.cs
- PointLightBase.cs
- SettingsBindableAttribute.cs
- EmptyEnumerator.cs
- FtpWebResponse.cs
- TextTreeUndo.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- EditModeSwitchButton.cs
- TrackingParameters.cs
- BinaryFormatter.cs
- CrossContextChannel.cs
- MessageFilter.cs
- SHA512Managed.cs
- ClassData.cs
- ClientSideQueueItem.cs
- _BaseOverlappedAsyncResult.cs
- MemberInitExpression.cs
- InputChannelAcceptor.cs
- ImageClickEventArgs.cs
- DataGridColumnFloatingHeader.cs
- DataObjectAttribute.cs
- XDeferredAxisSource.cs
- CustomAssemblyResolver.cs
- SimplePropertyEntry.cs
- localization.cs
- ProfilePropertySettings.cs
- DataControlPagerLinkButton.cs
- SByteStorage.cs
- WebPartDescriptionCollection.cs
- HttpProfileBase.cs
- Int16Storage.cs
- XmlCodeExporter.cs
- UnauthorizedWebPart.cs
- VScrollProperties.cs
- OrderingExpression.cs
- XmlSchemaInfo.cs
- PropertyPathWorker.cs
- ToolStripGripRenderEventArgs.cs
- CngAlgorithmGroup.cs
- SelectionChangedEventArgs.cs
- BindableTemplateBuilder.cs
- AmbientProperties.cs
- ResolveNameEventArgs.cs
- QuaternionKeyFrameCollection.cs
- HttpFileCollection.cs
- AsyncOperationContext.cs
- StylusPointPropertyId.cs
- SQLInt16Storage.cs
- StorageEntityContainerMapping.cs
- Binding.cs
- LazyLoadBehavior.cs
- IUnknownConstantAttribute.cs
- DynamicValueConverter.cs
- SessionStateItemCollection.cs
- ExpressionBuilderContext.cs
- ManagedFilter.cs
- BulletDecorator.cs
- SQLDecimal.cs
- TransactionInterop.cs
- Logging.cs
- DEREncoding.cs
- DataStreamFromComStream.cs
- ToolboxControl.cs
- Frame.cs
- TemplateControlCodeDomTreeGenerator.cs
- JoinSymbol.cs
- ScrollData.cs
- DiscoveryClientElement.cs
- DirectoryInfo.cs
- HashHelper.cs
- Visitors.cs
- PenThread.cs
- AutomationInteropProvider.cs
- XmlSchemaRedefine.cs
- Memoizer.cs
- XsltSettings.cs