Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- EncryptedKey.cs
- MetabaseSettings.cs
- NamedObject.cs
- SelectedGridItemChangedEvent.cs
- WorkflowOwnershipException.cs
- ViewManager.cs
- SwitchElementsCollection.cs
- NumericUpDownAccelerationCollection.cs
- HebrewNumber.cs
- HostingEnvironmentException.cs
- XmlChoiceIdentifierAttribute.cs
- DesignerProperties.cs
- SizeAnimation.cs
- ContentControl.cs
- ListViewEditEventArgs.cs
- log.cs
- ClientUtils.cs
- ScriptHandlerFactory.cs
- QueryContinueDragEvent.cs
- DoubleCollection.cs
- HuffmanTree.cs
- CompressionTracing.cs
- UserPreferenceChangedEventArgs.cs
- Utils.cs
- XPathEmptyIterator.cs
- Math.cs
- HttpServerVarsCollection.cs
- XamlVector3DCollectionSerializer.cs
- DependencyPropertyAttribute.cs
- _AutoWebProxyScriptWrapper.cs
- SessionStateContainer.cs
- GeneralTransform3DCollection.cs
- ObfuscateAssemblyAttribute.cs
- MSAAEventDispatcher.cs
- Query.cs
- UpdateExpressionVisitor.cs
- Signature.cs
- TraceHwndHost.cs
- DateBoldEvent.cs
- ModelPropertyImpl.cs
- CopyOfAction.cs
- DataError.cs
- PartitionerStatic.cs
- RoutedUICommand.cs
- ToolStripItemTextRenderEventArgs.cs
- Material.cs
- TransformProviderWrapper.cs
- OperationBehaviorAttribute.cs
- PasswordRecovery.cs
- RunWorkerCompletedEventArgs.cs
- DeviceSpecificDesigner.cs
- DataGrid.cs
- NonVisualControlAttribute.cs
- SpellerError.cs
- WindowsGraphicsWrapper.cs
- CreateUserWizard.cs
- CodeDOMUtility.cs
- OpCopier.cs
- ArgumentOutOfRangeException.cs
- InvalidCastException.cs
- HttpModuleCollection.cs
- HttpCacheVary.cs
- PaintEvent.cs
- ModelFunctionTypeElement.cs
- _UriSyntax.cs
- dbdatarecord.cs
- AuthenticateEventArgs.cs
- CompositeCollectionView.cs
- BitmapEffectGroup.cs
- OneWayChannelListener.cs
- PointLight.cs
- MobileListItem.cs
- PropertyCollection.cs
- SuppressIldasmAttribute.cs
- MessageQueueInstaller.cs
- Localizer.cs
- UInt16.cs
- messageonlyhwndwrapper.cs
- HtmlTableCellCollection.cs
- CharAnimationBase.cs
- SynchronizingStream.cs
- TrackingStringDictionary.cs
- DataGridViewCell.cs
- TextInfo.cs
- Models.cs
- httpserverutility.cs
- NonceToken.cs
- DNS.cs
- MDIControlStrip.cs
- BuilderPropertyEntry.cs
- odbcmetadatacollectionnames.cs
- FileNotFoundException.cs
- BufferAllocator.cs
- BitFlagsGenerator.cs
- WinHttpWebProxyFinder.cs
- SqlSelectStatement.cs
- ActionFrame.cs
- DesignConnectionCollection.cs
- SoapSchemaExporter.cs
- FixedTextSelectionProcessor.cs