Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- TypeElementCollection.cs
- ButtonStandardAdapter.cs
- UseAttributeSetsAction.cs
- DiscriminatorMap.cs
- RawStylusActions.cs
- MobileControl.cs
- ClientOptions.cs
- EffectiveValueEntry.cs
- Queue.cs
- ResourceAssociationSetEnd.cs
- ObjectDataSourceStatusEventArgs.cs
- StrokeCollection2.cs
- CssTextWriter.cs
- WmlPanelAdapter.cs
- StrongNameIdentityPermission.cs
- ToolStripDropDownClosedEventArgs.cs
- GridSplitter.cs
- BufferAllocator.cs
- RecordManager.cs
- DictionaryContent.cs
- SrgsElement.cs
- ProtocolImporter.cs
- AccessibleObject.cs
- Panel.cs
- XmlCharType.cs
- QueryContinueDragEventArgs.cs
- MouseGestureConverter.cs
- XmlJsonReader.cs
- CriticalFinalizerObject.cs
- ThreadAttributes.cs
- ComEventsMethod.cs
- HtmlTableCellCollection.cs
- FrameworkContentElement.cs
- PtsPage.cs
- RepeatInfo.cs
- CodeSnippetTypeMember.cs
- RegexCharClass.cs
- UpdatePanelControlTrigger.cs
- WorkerRequest.cs
- TdsParserStateObject.cs
- XmlSchemaElement.cs
- CertificateManager.cs
- NamedPipeTransportElement.cs
- WindowsFormsHelpers.cs
- FileDialog_Vista_Interop.cs
- DataTableMappingCollection.cs
- DrawingBrush.cs
- ToolStripHighContrastRenderer.cs
- XmlnsDictionary.cs
- TdsParserSafeHandles.cs
- ContainerControlDesigner.cs
- MessageQueuePermissionEntry.cs
- CorrelationService.cs
- Utility.cs
- metadatamappinghashervisitor.cs
- DbConnectionPoolIdentity.cs
- ViewStateException.cs
- FixUp.cs
- DbMetaDataCollectionNames.cs
- BinaryMessageFormatter.cs
- TextReader.cs
- objectresult_tresulttype.cs
- ISAPIApplicationHost.cs
- StylusPointProperty.cs
- JsonUriDataContract.cs
- DataGridViewControlCollection.cs
- ComboBoxRenderer.cs
- KnownColorTable.cs
- sqlser.cs
- ListViewDataItem.cs
- _NetworkingPerfCounters.cs
- DesignColumn.cs
- SqlCacheDependency.cs
- StatusBarPanelClickEvent.cs
- InplaceBitmapMetadataWriter.cs
- PersonalizationStateInfo.cs
- SqlProviderManifest.cs
- ScrollBar.cs
- ColorPalette.cs
- FlowDocumentView.cs
- RSATokenProvider.cs
- TextReturnReader.cs
- AssemblyAttributesGoHere.cs
- ButtonBaseDesigner.cs
- ApplyTemplatesAction.cs
- TimeSpan.cs
- TypeSource.cs
- RowSpanVector.cs
- BooleanFacetDescriptionElement.cs
- ScrollProperties.cs
- CodeIndexerExpression.cs
- FloatAverageAggregationOperator.cs
- _Win32.cs
- InternalRelationshipCollection.cs
- Single.cs
- CodeDefaultValueExpression.cs
- PhysicalAddress.cs
- BindingGroup.cs
- TypeSource.cs
- QueryContinueDragEvent.cs