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 / 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
- QueryOperationResponseOfT.cs
- XPathDocumentIterator.cs
- AttachedPropertyBrowsableAttribute.cs
- MarkupExtensionSerializer.cs
- TextBox.cs
- _SecureChannel.cs
- AsyncStreamReader.cs
- WmlCommandAdapter.cs
- FormParameter.cs
- ConnectionPointConverter.cs
- RelationshipEndCollection.cs
- CommandDevice.cs
- LogFlushAsyncResult.cs
- WsdlWriter.cs
- CommonServiceBehaviorElement.cs
- SchemaImporter.cs
- SelectorItemAutomationPeer.cs
- ObjectDataProvider.cs
- HotCommands.cs
- TextDecoration.cs
- ExtenderControl.cs
- SqlParameterCollection.cs
- TextModifierScope.cs
- NegatedCellConstant.cs
- HostSecurityManager.cs
- Listbox.cs
- SyndicationCategory.cs
- ObjectSelectorEditor.cs
- SchemaCollectionPreprocessor.cs
- WorkflowMarkupSerializationManager.cs
- HttpException.cs
- GeneralTransformGroup.cs
- MetadataCache.cs
- ColorComboBox.cs
- CipherData.cs
- XamlFigureLengthSerializer.cs
- PartitionResolver.cs
- RectAnimationBase.cs
- MessageSecurityOverHttpElement.cs
- WindowsSysHeader.cs
- TextShapeableCharacters.cs
- SqlUserDefinedTypeAttribute.cs
- ButtonChrome.cs
- Enumerable.cs
- TransformerInfoCollection.cs
- HandleRef.cs
- ServiceParser.cs
- SmtpReplyReader.cs
- ToolboxItem.cs
- VirtualizedItemPattern.cs
- FixedPosition.cs
- ShaperBuffers.cs
- HashAlgorithm.cs
- ProxyGenerator.cs
- PostBackTrigger.cs
- TextSerializer.cs
- DocumentSequence.cs
- HttpDictionary.cs
- Point3DConverter.cs
- HttpPostClientProtocol.cs
- SystemIPInterfaceStatistics.cs
- StreamSecurityUpgradeInitiatorAsyncResult.cs
- ItemCheckEvent.cs
- HashHelper.cs
- JavaScriptSerializer.cs
- DiagnosticTraceSource.cs
- KeyInfo.cs
- XsdDataContractExporter.cs
- SymbolEqualComparer.cs
- GenerateTemporaryTargetAssembly.cs
- NativeMethodsOther.cs
- HotSpot.cs
- KeySplineConverter.cs
- TreeNode.cs
- MessageEncodingBindingElement.cs
- Registry.cs
- ServiceX509SecurityTokenProvider.cs
- SqlProviderServices.cs
- SelectedGridItemChangedEvent.cs
- MachineSettingsSection.cs
- Utils.cs
- FontEditor.cs
- messageonlyhwndwrapper.cs
- IndependentAnimationStorage.cs
- Membership.cs
- DocumentGrid.cs
- TextEffect.cs
- HttpContextServiceHost.cs
- DynamicValidator.cs
- WebPermission.cs
- CaseStatement.cs
- IResourceProvider.cs
- UserControlParser.cs
- EventLogPermissionEntry.cs
- CurrencyManager.cs
- DetailsViewRowCollection.cs
- StrokeNodeEnumerator.cs
- DeflateEmulationStream.cs
- EncoderNLS.cs
- DataGridViewCellValidatingEventArgs.cs