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
- SignatureGenerator.cs
- AnimationClockResource.cs
- _SslSessionsCache.cs
- BeginEvent.cs
- CodeGeneratorAttribute.cs
- ActivityTypeCodeDomSerializer.cs
- ProcessMessagesAsyncResult.cs
- DataSetUtil.cs
- GridViewDeleteEventArgs.cs
- DropSourceBehavior.cs
- MustUnderstandBehavior.cs
- ReadOnlyActivityGlyph.cs
- DesignerDataTableBase.cs
- VisualStates.cs
- CollectionContainer.cs
- FrameworkElement.cs
- PerformanceCounterScope.cs
- BufferAllocator.cs
- SrgsNameValueTag.cs
- SchemaMerger.cs
- CompositeCollectionView.cs
- WebPageTraceListener.cs
- COM2ExtendedUITypeEditor.cs
- NavigatorOutput.cs
- RegistryPermission.cs
- ResourceDisplayNameAttribute.cs
- Zone.cs
- FloaterParagraph.cs
- WebPartPersonalization.cs
- SystemNetHelpers.cs
- XPathAxisIterator.cs
- TextWriterEngine.cs
- AppDomainUnloadedException.cs
- JpegBitmapEncoder.cs
- ScrollEventArgs.cs
- Int32Converter.cs
- FormParameter.cs
- DBConnection.cs
- RoleManagerModule.cs
- ValidationSummary.cs
- WaitHandleCannotBeOpenedException.cs
- ParallelQuery.cs
- PropertyManager.cs
- MessageFilterTable.cs
- CompositeTypefaceMetrics.cs
- BrowserTree.cs
- WithParamAction.cs
- TimeoutValidationAttribute.cs
- Utils.cs
- PublisherIdentityPermission.cs
- ThousandthOfEmRealDoubles.cs
- XmlReaderSettings.cs
- BatchStream.cs
- CellTreeNode.cs
- ListSortDescription.cs
- XmlChildEnumerator.cs
- Util.cs
- RoleExceptions.cs
- XmlSchemaGroupRef.cs
- IsolatedStorageFile.cs
- DataObjectPastingEventArgs.cs
- PasswordBoxAutomationPeer.cs
- AnimationLayer.cs
- WindowsFormsHostAutomationPeer.cs
- XmlTextReader.cs
- OLEDB_Enum.cs
- IntPtr.cs
- ToolStripContainerActionList.cs
- WCFModelStrings.Designer.cs
- DotExpr.cs
- WithStatement.cs
- SymmetricKeyWrap.cs
- XmlSchemaSimpleTypeUnion.cs
- DocumentationServerProtocol.cs
- Underline.cs
- WrapPanel.cs
- PageSettings.cs
- SingleStorage.cs
- DecoderExceptionFallback.cs
- BaseTemplateParser.cs
- Thread.cs
- SizeAnimationClockResource.cs
- UserControl.cs
- handlecollector.cs
- Stacktrace.cs
- ReachVisualSerializerAsync.cs
- GridViewPageEventArgs.cs
- DataGridPageChangedEventArgs.cs
- DataSetMappper.cs
- Triplet.cs
- ResXResourceReader.cs
- UIHelper.cs
- ContainsRowNumberChecker.cs
- ProfileSection.cs
- NullRuntimeConfig.cs
- Splitter.cs
- XmlMembersMapping.cs
- lengthconverter.cs
- EventHandlingScope.cs
- Bidi.cs