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
- ReadOnlyNameValueCollection.cs
- ThicknessAnimationUsingKeyFrames.cs
- ByteAnimationBase.cs
- OleDbConnectionInternal.cs
- Debug.cs
- sitestring.cs
- PointAnimationClockResource.cs
- hresults.cs
- KeyEventArgs.cs
- AssemblyBuilder.cs
- DataTransferEventArgs.cs
- HandlerBase.cs
- InitiatorSessionSymmetricTransportSecurityProtocol.cs
- Debug.cs
- DefaultValueConverter.cs
- DrawingContextWalker.cs
- Section.cs
- RestClientProxyHandler.cs
- StorageComplexTypeMapping.cs
- GlyphingCache.cs
- AmbiguousMatchException.cs
- BooleanAnimationBase.cs
- ItemCollection.cs
- processwaithandle.cs
- DocumentXPathNavigator.cs
- SqlInternalConnection.cs
- StrongNamePublicKeyBlob.cs
- xmlformatgeneratorstatics.cs
- DoubleIndependentAnimationStorage.cs
- QilScopedVisitor.cs
- Ray3DHitTestResult.cs
- TableRow.cs
- PointAnimationBase.cs
- InternalPermissions.cs
- ToolStripDropDown.cs
- HttpServerUtilityBase.cs
- MessageLogger.cs
- FileDetails.cs
- ManagementScope.cs
- UriSection.cs
- FunctionGenerator.cs
- PageThemeBuildProvider.cs
- ContextQuery.cs
- DayRenderEvent.cs
- DesignerActionPropertyItem.cs
- TrackingMemoryStream.cs
- ListDataHelper.cs
- ListViewDeleteEventArgs.cs
- dsa.cs
- UnknownBitmapDecoder.cs
- GridViewRow.cs
- DefaultParameterValueAttribute.cs
- PlaceHolder.cs
- DecimalAnimation.cs
- FontSizeConverter.cs
- IListConverters.cs
- PlaceHolder.cs
- CustomError.cs
- XPathNodeList.cs
- WebBrowserNavigatingEventHandler.cs
- BinaryWriter.cs
- DataSpaceManager.cs
- FontConverter.cs
- CornerRadiusConverter.cs
- JumpList.cs
- ByteAnimationBase.cs
- BaseDataBoundControl.cs
- COAUTHINFO.cs
- UserValidatedEventArgs.cs
- CultureInfoConverter.cs
- DataSetUtil.cs
- SwitchAttribute.cs
- DataMisalignedException.cs
- ObjectSerializerFactory.cs
- ScriptComponentDescriptor.cs
- basenumberconverter.cs
- NativeMethods.cs
- SqlTrackingQuery.cs
- ChannelTerminatedException.cs
- SafeHandles.cs
- XmlUtf8RawTextWriter.cs
- ADMembershipProvider.cs
- HttpProfileBase.cs
- NameSpaceExtractor.cs
- ProfileGroupSettingsCollection.cs
- JsonServiceDocumentSerializer.cs
- ComPlusInstanceProvider.cs
- XmlSerializationGeneratedCode.cs
- StreamInfo.cs
- Visual.cs
- ClientOptions.cs
- ZipIOExtraField.cs
- AuthenticationModuleElementCollection.cs
- JsonMessageEncoderFactory.cs
- PerfCounterSection.cs
- XmlArrayItemAttributes.cs
- SQLUtility.cs
- UdpTransportSettings.cs
- IdentityHolder.cs
- CategoryValueConverter.cs