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
- FileVersion.cs
- ItemsPanelTemplate.cs
- ColorBlend.cs
- HostingPreferredMapPath.cs
- RadioButton.cs
- Journaling.cs
- TypeProvider.cs
- BoundsDrawingContextWalker.cs
- ReferentialConstraint.cs
- LayoutInformation.cs
- StreamWriter.cs
- PropertyEmitterBase.cs
- HtmlMeta.cs
- HttpHandlersSection.cs
- Point3DValueSerializer.cs
- FormsAuthenticationModule.cs
- BuilderPropertyEntry.cs
- Effect.cs
- StringWriter.cs
- AddressHeaderCollectionElement.cs
- XmlCDATASection.cs
- DataSysAttribute.cs
- UserPersonalizationStateInfo.cs
- DataSourceXmlAttributeAttribute.cs
- ToolStripGrip.cs
- NativeCppClassAttribute.cs
- _ChunkParse.cs
- CollectionMarkupSerializer.cs
- CounterSampleCalculator.cs
- WebConfigurationFileMap.cs
- DataSourceControl.cs
- StandardToolWindows.cs
- FieldTemplateUserControl.cs
- SystemBrushes.cs
- GetUserPreferenceRequest.cs
- DesignerActionKeyboardBehavior.cs
- TdsParserStateObject.cs
- MessageBox.cs
- RtfToXamlReader.cs
- SmtpCommands.cs
- NotifyCollectionChangedEventArgs.cs
- AutoCompleteStringCollection.cs
- ConversionHelper.cs
- X509CertificateCollection.cs
- CatalogZone.cs
- TextEffect.cs
- GregorianCalendar.cs
- EntityFunctions.cs
- StaticTextPointer.cs
- GridViewRow.cs
- SqlProviderServices.cs
- ToolstripProfessionalRenderer.cs
- SourceItem.cs
- MsmqIntegrationOutputChannel.cs
- SafeFindHandle.cs
- PropertyGridEditorPart.cs
- HighlightVisual.cs
- GridViewCommandEventArgs.cs
- CodeCatchClause.cs
- TraceSource.cs
- EncoderExceptionFallback.cs
- MatrixCamera.cs
- wgx_render.cs
- __ComObject.cs
- Internal.cs
- BmpBitmapEncoder.cs
- OracleCommand.cs
- UInt64.cs
- XmlSchemaAll.cs
- SharedStatics.cs
- ResourceSet.cs
- HitTestFilterBehavior.cs
- InkSerializer.cs
- TemplateInstanceAttribute.cs
- DockPanel.cs
- OdbcConnectionHandle.cs
- FloaterBaseParaClient.cs
- ImageSource.cs
- ActiveXHelper.cs
- CodePropertyReferenceExpression.cs
- VectorCollectionConverter.cs
- Pkcs9Attribute.cs
- SerializerWriterEventHandlers.cs
- ScrollItemPattern.cs
- WorkflowValidationFailedException.cs
- ReferencedType.cs
- AdditionalEntityFunctions.cs
- _RequestLifetimeSetter.cs
- CngKeyCreationParameters.cs
- DockPattern.cs
- TemplateBindingExtensionConverter.cs
- TemplatedWizardStep.cs
- ItemType.cs
- ListControlStringCollectionEditor.cs
- XmlUtf8RawTextWriter.cs
- PackWebRequestFactory.cs
- ProtocolViolationException.cs
- ZipFileInfo.cs
- BitmapEncoder.cs
- LoadRetryConstantStrategy.cs