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
- MediaSystem.cs
- PrimitiveCodeDomSerializer.cs
- _IPv6Address.cs
- ExtensionDataObject.cs
- HttpApplicationFactory.cs
- SoapClientProtocol.cs
- DependencySource.cs
- EastAsianLunisolarCalendar.cs
- ControlPropertyNameConverter.cs
- UidManager.cs
- DesignerContextDescriptor.cs
- WindowsAuthenticationEventArgs.cs
- DataRowCollection.cs
- NavigationProgressEventArgs.cs
- ExecutionEngineException.cs
- ViewService.cs
- ComplexPropertyEntry.cs
- HttpServerVarsCollection.cs
- OrCondition.cs
- hebrewshape.cs
- XmlSchemaImporter.cs
- StringValueConverter.cs
- BufferedReceiveElement.cs
- WebMethodAttribute.cs
- PointF.cs
- Oid.cs
- TimeZone.cs
- ActiveXContainer.cs
- RelationshipType.cs
- BindableTemplateBuilder.cs
- TextFormatter.cs
- EventHandlerList.cs
- InternalReceiveMessage.cs
- ImportFileRequest.cs
- SqlDataSource.cs
- AuthenticatingEventArgs.cs
- smtppermission.cs
- TextEditorCharacters.cs
- HttpProxyCredentialType.cs
- TableItemPattern.cs
- CriticalExceptions.cs
- RelationshipEndMember.cs
- ExtendedProtectionPolicy.cs
- DiscoveryClientBindingElement.cs
- DesignerSelectionListAdapter.cs
- SourceInterpreter.cs
- SmiXetterAccessMap.cs
- util.cs
- MediaPlayer.cs
- RootAction.cs
- ManipulationCompletedEventArgs.cs
- ExtractedStateEntry.cs
- WindowsEditBox.cs
- SystemInformation.cs
- ChineseLunisolarCalendar.cs
- MethodBuilderInstantiation.cs
- OrCondition.cs
- EditorZoneAutoFormat.cs
- rsa.cs
- KeyFrames.cs
- WorkflowQueueInfo.cs
- UriWriter.cs
- ApplicationException.cs
- JsonQNameDataContract.cs
- HandlerBase.cs
- ArraySortHelper.cs
- Mappings.cs
- StackSpiller.Temps.cs
- ScaleTransform.cs
- ControlAdapter.cs
- DSACryptoServiceProvider.cs
- FixedSOMImage.cs
- DataGridViewSelectedCellCollection.cs
- EntityDesignerUtils.cs
- FileDialogCustomPlace.cs
- CanonicalizationDriver.cs
- StaticResourceExtension.cs
- PersonalizationProviderHelper.cs
- PageContentAsyncResult.cs
- NotFiniteNumberException.cs
- MetadataLocation.cs
- _SslSessionsCache.cs
- XmlHierarchicalDataSourceView.cs
- StrokeSerializer.cs
- FolderBrowserDialog.cs
- Dump.cs
- MimeParameter.cs
- OleDbParameter.cs
- CodeValidator.cs
- TextParagraph.cs
- FormatterConverter.cs
- Section.cs
- Queue.cs
- AmbientProperties.cs
- JsonReaderDelegator.cs
- CacheForPrimitiveTypes.cs
- FileLogRecordStream.cs
- RegexGroup.cs
- Tool.cs
- DataColumnMapping.cs