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
- SqlCharStream.cs
- ToolStripSettings.cs
- FullTrustAssemblyCollection.cs
- PrintPreviewDialog.cs
- AvtEvent.cs
- SmiEventStream.cs
- SystemResourceKey.cs
- ModelService.cs
- RoutedCommand.cs
- PositiveTimeSpanValidator.cs
- DataGridViewCellStyleContentChangedEventArgs.cs
- AttachmentCollection.cs
- SHA512Managed.cs
- SynchronizedInputHelper.cs
- AtlasWeb.Designer.cs
- IpcManager.cs
- ConditionalAttribute.cs
- PrintController.cs
- ObjectMemberMapping.cs
- RemotingConfiguration.cs
- IdentityHolder.cs
- TTSEvent.cs
- StickyNoteContentControl.cs
- OdbcEnvironment.cs
- XMLSyntaxException.cs
- PlaceHolder.cs
- ArraySubsetEnumerator.cs
- BinHexEncoder.cs
- SocketElement.cs
- ManipulationDeltaEventArgs.cs
- SqlProviderManifest.cs
- SubpageParaClient.cs
- Int32CollectionConverter.cs
- PageThemeBuildProvider.cs
- SmtpReplyReader.cs
- OdbcConnectionStringbuilder.cs
- DataRecordInternal.cs
- KeySpline.cs
- RawStylusActions.cs
- MatchingStyle.cs
- serverconfig.cs
- FileSecurity.cs
- AvtEvent.cs
- CodeIdentifiers.cs
- OleAutBinder.cs
- SoapIncludeAttribute.cs
- EdgeProfileValidation.cs
- UserPreferenceChangingEventArgs.cs
- HelpEvent.cs
- ClientTargetCollection.cs
- MetabaseReader.cs
- CodeAccessSecurityEngine.cs
- ValidationEventArgs.cs
- GeneralTransform3DCollection.cs
- MultiTrigger.cs
- ReflectionUtil.cs
- BamlBinaryWriter.cs
- GridViewHeaderRowPresenter.cs
- DeferredTextReference.cs
- DataBinder.cs
- ScrollChangedEventArgs.cs
- ConfigurationConverterBase.cs
- CryptoApi.cs
- FastPropertyAccessor.cs
- WebMethodAttribute.cs
- PasswordRecovery.cs
- NativeMethodsCLR.cs
- QueryResults.cs
- BaseValidator.cs
- SmtpMail.cs
- TrackingStringDictionary.cs
- JsonDataContract.cs
- ReadWriteControlDesigner.cs
- IdentityNotMappedException.cs
- WebConfigurationHostFileChange.cs
- Point4DConverter.cs
- XmlElementCollection.cs
- WebSysDescriptionAttribute.cs
- SqlPersonalizationProvider.cs
- DataRow.cs
- SoapSchemaImporter.cs
- XmlHierarchicalEnumerable.cs
- PointCollection.cs
- BuildDependencySet.cs
- ComponentEditorForm.cs
- VisualBasicSettingsHandler.cs
- ArcSegment.cs
- RadioButtonStandardAdapter.cs
- DataGridViewTopRowAccessibleObject.cs
- XmlNode.cs
- CharStorage.cs
- OLEDB_Util.cs
- PriorityChain.cs
- LoadWorkflowCommand.cs
- BoundColumn.cs
- PropertyOrder.cs
- SerialReceived.cs
- SortAction.cs
- TokenizerHelper.cs
- CollectionViewProxy.cs