Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- ServiceOperationInvoker.cs
- RequestCachingSection.cs
- XmlILConstructAnalyzer.cs
- NumberSubstitution.cs
- Control.cs
- PermissionAttributes.cs
- CacheForPrimitiveTypes.cs
- ColorInterpolationModeValidation.cs
- RuntimeTransactionHandle.cs
- JsonEnumDataContract.cs
- SimpleFieldTemplateUserControl.cs
- SessionStateUtil.cs
- BulletedList.cs
- RequestResizeEvent.cs
- WebPartsPersonalization.cs
- NotifyIcon.cs
- HttpFileCollectionWrapper.cs
- DynamicMethod.cs
- ReversePositionQuery.cs
- SessionStateItemCollection.cs
- SectionInformation.cs
- CodeTypeMemberCollection.cs
- Triplet.cs
- RemotingSurrogateSelector.cs
- ExecutionTracker.cs
- OleDbRowUpdatedEvent.cs
- ConstructorExpr.cs
- UnaryNode.cs
- DependencyPropertyValueSerializer.cs
- WinFormsSecurity.cs
- AsymmetricKeyExchangeDeformatter.cs
- FormViewUpdatedEventArgs.cs
- ManagementException.cs
- SoapExtensionImporter.cs
- Simplifier.cs
- XmlWriterSettings.cs
- Decimal.cs
- XmlSchemaSimpleContent.cs
- XmlDocumentFragment.cs
- DBCommandBuilder.cs
- AutoFocusStyle.xaml.cs
- DeviceContext2.cs
- TemplateField.cs
- GroupedContextMenuStrip.cs
- EntityClassGenerator.cs
- StylusButton.cs
- ServiceContractViewControl.Designer.cs
- AssemblyFilter.cs
- ModelItemDictionaryImpl.cs
- MimeParameters.cs
- TreeViewItem.cs
- ScrollViewer.cs
- ExpressionTextBox.xaml.cs
- ButtonRenderer.cs
- CanonicalXml.cs
- DbXmlEnabledProviderManifest.cs
- ActiveDocumentEvent.cs
- Control.cs
- DynamicObject.cs
- WhiteSpaceTrimStringConverter.cs
- CountdownEvent.cs
- figurelength.cs
- VBIdentifierTrimConverter.cs
- EmptyQuery.cs
- ListViewGroupConverter.cs
- CodeAssignStatement.cs
- ZipIOLocalFileHeader.cs
- FacetChecker.cs
- TemplateBamlTreeBuilder.cs
- XmlLangPropertyAttribute.cs
- SqlCacheDependency.cs
- OutputWindow.cs
- DataGridViewComboBoxColumnDesigner.cs
- ListBoxAutomationPeer.cs
- LocationUpdates.cs
- ContentPlaceHolder.cs
- TagMapCollection.cs
- DockPanel.cs
- SrgsElement.cs
- XmlComplianceUtil.cs
- InvalidCommandTreeException.cs
- MetadataSource.cs
- ToggleButton.cs
- BatchParser.cs
- ExceptionHandlersDesigner.cs
- ConnectivityStatus.cs
- RbTree.cs
- _SslStream.cs
- TimelineGroup.cs
- NumericUpDown.cs
- DynamicResourceExtension.cs
- FrameworkContentElement.cs
- PointAnimationUsingKeyFrames.cs
- PublishLicense.cs
- Accessible.cs
- ServicePoint.cs
- HtmlForm.cs
- ExtendedPropertyInfo.cs
- StylusCaptureWithinProperty.cs
- Parallel.cs