Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Framework / System / Windows / Markup / StaticExtensionConverter.cs / 1 / StaticExtensionConverter.cs
//------------------------------------------------------------------------ // // Microsoft Windows Client Platform // Copyright (C) Microsoft Corporation, 2005 // // File: StaticExtensionConverter.cs // // Contents: Converter to convert StaticExtensions 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 StaticExtensionConverter : 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 StaticExtension, not an arbitrary class /// [SecurityCritical, SecurityTreatAsSafe] public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) { if (destinationType == typeof(InstanceDescriptor)) { StaticExtension staticExtension = value as StaticExtension; if (staticExtension == null) throw new ArgumentException(SR.Get(SRID.MustBeOfType, "value", "StaticExtension")); return new InstanceDescriptor(typeof(StaticExtension).GetConstructor(new Type[] { typeof(string) }), new object[] { staticExtension.Member }); } 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: StaticExtensionConverter.cs // // Contents: Converter to convert StaticExtensions 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 StaticExtensionConverter : 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 StaticExtension, not an arbitrary class /// [SecurityCritical, SecurityTreatAsSafe] public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) { if (destinationType == typeof(InstanceDescriptor)) { StaticExtension staticExtension = value as StaticExtension; if (staticExtension == null) throw new ArgumentException(SR.Get(SRID.MustBeOfType, "value", "StaticExtension")); return new InstanceDescriptor(typeof(StaticExtension).GetConstructor(new Type[] { typeof(string) }), new object[] { staticExtension.Member }); } 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
- filewebrequest.cs
- ListControl.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- AnimationClock.cs
- ToolStripLocationCancelEventArgs.cs
- NameHandler.cs
- Cursor.cs
- TextServicesManager.cs
- Transactions.cs
- TableProvider.cs
- SendMailErrorEventArgs.cs
- ISAPIApplicationHost.cs
- EntityReference.cs
- BufferedGraphicsContext.cs
- InlineUIContainer.cs
- RestHandlerFactory.cs
- __ConsoleStream.cs
- VirtualDirectoryMapping.cs
- PolicyException.cs
- PolygonHotSpot.cs
- ClientSettings.cs
- InvariantComparer.cs
- MessagingDescriptionAttribute.cs
- SecurityChannelFaultConverter.cs
- EnvironmentPermission.cs
- EmbeddedMailObject.cs
- Header.cs
- GlyphRun.cs
- ProcessDesigner.cs
- uribuilder.cs
- TextServicesCompartmentContext.cs
- DynamicMethod.cs
- TreeViewItemAutomationPeer.cs
- DefaultValueMapping.cs
- DockPattern.cs
- CodeRegionDirective.cs
- RoleExceptions.cs
- FastPropertyAccessor.cs
- ModelEditingScope.cs
- Misc.cs
- CreateUserWizard.cs
- BufferedGraphicsContext.cs
- ManagementScope.cs
- DiscoveryClientOutputChannel.cs
- XmlnsDefinitionAttribute.cs
- Simplifier.cs
- DataGridColumn.cs
- ToolStripRenderEventArgs.cs
- LinqDataSourceInsertEventArgs.cs
- MappingException.cs
- Suspend.cs
- GeometryHitTestResult.cs
- FixedSOMTextRun.cs
- InProcStateClientManager.cs
- FormViewInsertEventArgs.cs
- BamlTreeNode.cs
- RoleBoolean.cs
- SqlParameterCollection.cs
- NavigationService.cs
- WhileDesigner.cs
- DataIdProcessor.cs
- ExecutionEngineException.cs
- AstNode.cs
- HttpHandlerActionCollection.cs
- DesignerUtils.cs
- ValidateNames.cs
- ListViewItemEventArgs.cs
- OdbcConnection.cs
- SystemNetHelpers.cs
- ButtonBaseAdapter.cs
- TextServicesContext.cs
- CompensationDesigner.cs
- WeakEventManager.cs
- MobilePage.cs
- SQLChars.cs
- CurrencyWrapper.cs
- UriScheme.cs
- FillBehavior.cs
- FloaterParagraph.cs
- SafeCryptContextHandle.cs
- MostlySingletonList.cs
- XmlAutoDetectWriter.cs
- ProxyGenerator.cs
- KeyValuePairs.cs
- XmlSerializerNamespaces.cs
- RuntimeEnvironment.cs
- WebPartTracker.cs
- ShaderRenderModeValidation.cs
- UserControlCodeDomTreeGenerator.cs
- IntSecurity.cs
- XmlSchemaFacet.cs
- Utils.cs
- MatrixTransform3D.cs
- IIS7WorkerRequest.cs
- Image.cs
- BufferModesCollection.cs
- xml.cs
- StateItem.cs
- _DigestClient.cs
- JsonObjectDataContract.cs