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
- Query.cs
- DisplayNameAttribute.cs
- SchemaMapping.cs
- OleDbDataReader.cs
- ErrorFormatter.cs
- _IPv4Address.cs
- SequentialOutput.cs
- ProxyRpc.cs
- CodeExpressionStatement.cs
- StateItem.cs
- SplitContainer.cs
- WebPartZoneBase.cs
- WriteFileContext.cs
- DataGridBeginningEditEventArgs.cs
- ServiceModelConfigurationSection.cs
- ParameterModifier.cs
- SmtpReplyReaderFactory.cs
- DataShape.cs
- Decimal.cs
- StylusDownEventArgs.cs
- TypeElement.cs
- SoapTypeAttribute.cs
- NamedPipeHostedTransportConfiguration.cs
- ContainerControl.cs
- NamespaceDecl.cs
- RepeaterItemEventArgs.cs
- UnhandledExceptionEventArgs.cs
- ChooseAction.cs
- UniqueIdentifierService.cs
- HttpWebResponse.cs
- DisplayMemberTemplateSelector.cs
- URLString.cs
- EncodingInfo.cs
- EncryptedHeaderXml.cs
- FloaterBaseParagraph.cs
- CodeDomExtensionMethods.cs
- ActivationServices.cs
- ColorTransform.cs
- ProtocolsConfiguration.cs
- ResourceSet.cs
- UpDownEvent.cs
- WinEventWrap.cs
- SinglePageViewer.cs
- DataGridViewSelectedColumnCollection.cs
- FixUp.cs
- BitmapMetadataBlob.cs
- SqlRemoveConstantOrderBy.cs
- SizeFConverter.cs
- SoapCodeExporter.cs
- StringValueConverter.cs
- BinaryFormatterSinks.cs
- SqlError.cs
- DbgCompiler.cs
- CfgParser.cs
- securitycriticaldataformultiplegetandset.cs
- SyndicationFeedFormatter.cs
- UnknownWrapper.cs
- ItemContainerGenerator.cs
- ScrollableControl.cs
- ElementFactory.cs
- StrokeNodeData.cs
- SeekableReadStream.cs
- FilteredAttributeCollection.cs
- PhoneCallDesigner.cs
- CheckBoxRenderer.cs
- EtwTrackingParticipant.cs
- ColumnReorderedEventArgs.cs
- NonPrimarySelectionGlyph.cs
- Sentence.cs
- AdPostCacheSubstitution.cs
- WebPartEventArgs.cs
- StateManagedCollection.cs
- OperationContractAttribute.cs
- LayoutEditorPart.cs
- Polygon.cs
- OpCopier.cs
- BaseTemplateCodeDomTreeGenerator.cs
- transactioncontext.cs
- ManifestSignedXml.cs
- XmlSchemaAttributeGroupRef.cs
- WorkflowRuntimeServiceElement.cs
- Debug.cs
- FlowDocumentPage.cs
- UnSafeCharBuffer.cs
- TraceUtility.cs
- FindProgressChangedEventArgs.cs
- SeekableReadStream.cs
- Base64Encoder.cs
- Vector.cs
- DocumentViewerConstants.cs
- ListViewUpdateEventArgs.cs
- NamedPipeConnectionPoolSettingsElement.cs
- ProfileProvider.cs
- LayoutTable.cs
- IdentityModelDictionary.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- WebPartZoneCollection.cs
- securitycriticaldata.cs
- ProfileInfo.cs
- COM2Enum.cs