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
- MetadataItemEmitter.cs
- VScrollBar.cs
- Decoder.cs
- ResXFileRef.cs
- DataRowExtensions.cs
- NameValueSectionHandler.cs
- DeferredElementTreeState.cs
- RuleSettings.cs
- odbcmetadatacollectionnames.cs
- CredentialCache.cs
- EventProviderWriter.cs
- OleDbErrorCollection.cs
- Matrix3DConverter.cs
- DateTimeParse.cs
- Trace.cs
- KeyEvent.cs
- Propagator.Evaluator.cs
- QilExpression.cs
- CatalogPart.cs
- SQLInt16Storage.cs
- EntityDataSourceColumn.cs
- FullTextState.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- WebBrowserHelper.cs
- IdentityModelDictionary.cs
- CollaborationHelperFunctions.cs
- DependencyObjectPropertyDescriptor.cs
- UiaCoreApi.cs
- ContractListAdapter.cs
- DocumentManager.cs
- ScrollBarRenderer.cs
- EllipticalNodeOperations.cs
- TextEditorThreadLocalStore.cs
- ServicePointManagerElement.cs
- Transaction.cs
- ProxySimple.cs
- InvalidDataException.cs
- ExpanderAutomationPeer.cs
- TargetPerspective.cs
- DataGridCheckBoxColumn.cs
- PartialCachingControl.cs
- ShaderEffect.cs
- XmlDocumentSurrogate.cs
- WebPartDisplayModeCollection.cs
- NumberSubstitution.cs
- ListViewItemMouseHoverEvent.cs
- XomlSerializationHelpers.cs
- FolderBrowserDialog.cs
- DiffuseMaterial.cs
- TargetParameterCountException.cs
- TemplateXamlParser.cs
- AsyncCompletedEventArgs.cs
- RectangleGeometry.cs
- CodeSubDirectory.cs
- DataGridViewTopLeftHeaderCell.cs
- ipaddressinformationcollection.cs
- FlowDocumentPaginator.cs
- StylusEditingBehavior.cs
- _DomainName.cs
- TableItemStyle.cs
- GZipStream.cs
- DesignTimeDataBinding.cs
- HttpModuleActionCollection.cs
- TreeNodeStyle.cs
- HttpResponse.cs
- BufferedWebEventProvider.cs
- PolyBezierSegment.cs
- AVElementHelper.cs
- PostBackTrigger.cs
- TypeInitializationException.cs
- DBCommandBuilder.cs
- TransportConfigurationTypeElement.cs
- TextBoxRenderer.cs
- ObjectSpanRewriter.cs
- ApplicationDirectory.cs
- XmlAttributeCache.cs
- _NegoState.cs
- ListBoxItem.cs
- glyphs.cs
- ObjectQueryProvider.cs
- HierarchicalDataBoundControl.cs
- DetailsView.cs
- EntityUtil.cs
- XmlCharCheckingReader.cs
- DefaultEventAttribute.cs
- XPathLexer.cs
- HostingEnvironmentException.cs
- EventsTab.cs
- PackWebResponse.cs
- SelectedDatesCollection.cs
- WindowsAltTab.cs
- WorkflowRuntimeServiceElement.cs
- ZipFileInfoCollection.cs
- IxmlLineInfo.cs
- SecurityUtils.cs
- ReadOnlyState.cs
- SafeCancelMibChangeNotify.cs
- SqlDataReaderSmi.cs
- StylusDownEventArgs.cs
- BitStack.cs