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
- DBSchemaTable.cs
- XmlSecureResolver.cs
- HandlerWithFactory.cs
- LongMinMaxAggregationOperator.cs
- Vector3D.cs
- ImageButton.cs
- XmlMemberMapping.cs
- SByteConverter.cs
- DataGridAddNewRow.cs
- EntityDataSourceChangedEventArgs.cs
- CriticalFinalizerObject.cs
- OdbcDataReader.cs
- XpsResourcePolicy.cs
- Application.cs
- ClientApiGenerator.cs
- CategoryGridEntry.cs
- ZipIOExtraFieldPaddingElement.cs
- UmAlQuraCalendar.cs
- recordstatescratchpad.cs
- SafeSystemMetrics.cs
- XmlUtil.cs
- TextLineBreak.cs
- ToolStripManager.cs
- InplaceBitmapMetadataWriter.cs
- ToolStripRenderer.cs
- FontNamesConverter.cs
- GeneralTransform3D.cs
- SqlVisitor.cs
- XmlSchemaAttribute.cs
- TaskScheduler.cs
- ConfigurationCollectionAttribute.cs
- AsyncDataRequest.cs
- WindowVisualStateTracker.cs
- DirectoryInfo.cs
- TabControlEvent.cs
- ConfigXmlReader.cs
- formatter.cs
- DataBoundControl.cs
- Stack.cs
- ExpressionBuilder.cs
- CodeArrayCreateExpression.cs
- TemplateControlBuildProvider.cs
- ImageListStreamer.cs
- OptionalRstParameters.cs
- XmlDeclaration.cs
- TransformGroup.cs
- ClientSettings.cs
- SelectionProcessor.cs
- HebrewNumber.cs
- ComponentResourceManager.cs
- HashMembershipCondition.cs
- XmlCodeExporter.cs
- ContractMethodInfo.cs
- DataGridColumnHeader.cs
- ErasingStroke.cs
- DataListItemCollection.cs
- SchemaNotation.cs
- TokenizerHelper.cs
- ChtmlLinkAdapter.cs
- WebServiceEnumData.cs
- UndoManager.cs
- SrgsOneOf.cs
- ALinqExpressionVisitor.cs
- QuaternionIndependentAnimationStorage.cs
- SecuritySessionFilter.cs
- BaseParaClient.cs
- Win32Exception.cs
- CalendarTable.cs
- SessionStateSection.cs
- Assert.cs
- EventTrigger.cs
- SettingsBase.cs
- EditorPart.cs
- FieldDescriptor.cs
- BaseCodeDomTreeGenerator.cs
- AudioDeviceOut.cs
- SqlRemoveConstantOrderBy.cs
- COM2Enum.cs
- ConstructorExpr.cs
- HostAdapter.cs
- TimeZone.cs
- BulletDecorator.cs
- SmtpNegotiateAuthenticationModule.cs
- StylusDevice.cs
- FontUnit.cs
- WorkflowViewElement.cs
- WebPartVerbCollection.cs
- FixedSOMLineCollection.cs
- ASCIIEncoding.cs
- InvariantComparer.cs
- TreeNodeClickEventArgs.cs
- ErrorItem.cs
- DES.cs
- SystemNetHelpers.cs
- BasicCommandTreeVisitor.cs
- SID.cs
- TrackBar.cs
- InputManager.cs
- CodeIdentifier.cs
- SerializableAttribute.cs