Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / DynamicResourceExtensionConverter.cs / 1305600 / DynamicResourceExtensionConverter.cs
//------------------------------------------------------------------------ // // Microsoft Windows Client Platform // Copyright (C) Microsoft Corporation, 2005 // // File: ElementItem.cs // // Contents: Implements a converter to an instance descriptor for // DynamicResourceExtension // // Created: 04/28/2005 [....] // //----------------------------------------------------------------------- using System; using System.ComponentModel; using System.ComponentModel.Design.Serialization; using System.Collections; using System.Security; using System.Text; namespace System.Windows { ////// Type converter to inform the serialization system how to construct a DynamicResourceExtension from /// an instance. It reports that ResourceKey should be used as the first parameter to the constructor. /// public class DynamicResourceExtensionConverter: TypeConverter { ////// True if converting to an instance descriptor /// public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { if (destinationType == typeof(InstanceDescriptor)) { return true; } return base.CanConvertTo(context, destinationType); } ////// Converts to an instance descriptor /// ////// Critical: calls InstanceDescriptor ctor which LinkDemands /// PublicOK: can only make an InstanceDescriptor for DynamicResourceExtension, not an arbitrary class /// [SecurityCritical] public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) { if (destinationType == typeof(InstanceDescriptor)) { if(value == null) throw new ArgumentNullException("value"); DynamicResourceExtension dynamicResource = value as DynamicResourceExtension; if (dynamicResource == null) throw new ArgumentException(SR.Get(SRID.MustBeOfType, "value", "DynamicResourceExtension"), "value"); return new InstanceDescriptor(typeof(DynamicResourceExtension).GetConstructor(new Type[] { typeof(object) }), new object[] { dynamicResource.ResourceKey } ); } 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: ElementItem.cs // // Contents: Implements a converter to an instance descriptor for // DynamicResourceExtension // // Created: 04/28/2005 [....] // //----------------------------------------------------------------------- using System; using System.ComponentModel; using System.ComponentModel.Design.Serialization; using System.Collections; using System.Security; using System.Text; namespace System.Windows { ////// Type converter to inform the serialization system how to construct a DynamicResourceExtension from /// an instance. It reports that ResourceKey should be used as the first parameter to the constructor. /// public class DynamicResourceExtensionConverter: TypeConverter { ////// True if converting to an instance descriptor /// public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { if (destinationType == typeof(InstanceDescriptor)) { return true; } return base.CanConvertTo(context, destinationType); } ////// Converts to an instance descriptor /// ////// Critical: calls InstanceDescriptor ctor which LinkDemands /// PublicOK: can only make an InstanceDescriptor for DynamicResourceExtension, not an arbitrary class /// [SecurityCritical] public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) { if (destinationType == typeof(InstanceDescriptor)) { if(value == null) throw new ArgumentNullException("value"); DynamicResourceExtension dynamicResource = value as DynamicResourceExtension; if (dynamicResource == null) throw new ArgumentException(SR.Get(SRID.MustBeOfType, "value", "DynamicResourceExtension"), "value"); return new InstanceDescriptor(typeof(DynamicResourceExtension).GetConstructor(new Type[] { typeof(object) }), new object[] { dynamicResource.ResourceKey } ); } 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
- ElementProxy.cs
- MenuAdapter.cs
- StickyNoteContentControl.cs
- EventlogProvider.cs
- MatrixCamera.cs
- CodeIndexerExpression.cs
- QueueProcessor.cs
- SetIterators.cs
- EventBindingService.cs
- BackgroundFormatInfo.cs
- ParameterToken.cs
- LiteralDesigner.cs
- webbrowsersite.cs
- FindCriteriaCD1.cs
- SoapObjectInfo.cs
- EventListener.cs
- ContractInstanceProvider.cs
- MainMenu.cs
- BufferedGraphicsContext.cs
- SqlFormatter.cs
- EncodingTable.cs
- ProfileEventArgs.cs
- BlockCollection.cs
- ReturnEventArgs.cs
- XPathAncestorQuery.cs
- ProfileSection.cs
- CollectionBuilder.cs
- ScrollChrome.cs
- _ConnectOverlappedAsyncResult.cs
- SyntaxCheck.cs
- ClientSettingsProvider.cs
- ImageMetadata.cs
- FileEnumerator.cs
- DbException.cs
- OracleDateTime.cs
- ImageIndexEditor.cs
- ASCIIEncoding.cs
- ToolBar.cs
- Point.cs
- WorkItem.cs
- WindowsServiceElement.cs
- ColorConverter.cs
- FormViewDeletedEventArgs.cs
- UnmanagedMarshal.cs
- MessageEncodingBindingElementImporter.cs
- QueueProcessor.cs
- InstanceKeyCollisionException.cs
- UnmanagedMemoryStreamWrapper.cs
- SerializationException.cs
- InnerItemCollectionView.cs
- XhtmlBasicTextViewAdapter.cs
- PartBasedPackageProperties.cs
- GridItemPattern.cs
- CharEntityEncoderFallback.cs
- DirectoryInfo.cs
- PointCollection.cs
- XamlWriter.cs
- OutputCacheProfileCollection.cs
- RootBuilder.cs
- HuffCodec.cs
- Enumerable.cs
- RawStylusInputCustomData.cs
- ListViewItemCollectionEditor.cs
- InterleavedZipPartStream.cs
- OdbcCommand.cs
- XmlLanguage.cs
- WebPartMinimizeVerb.cs
- OdbcConnectionPoolProviderInfo.cs
- ComponentEvent.cs
- Html32TextWriter.cs
- DESCryptoServiceProvider.cs
- EntitySqlQueryCacheKey.cs
- TransformedBitmap.cs
- Graphics.cs
- ConstraintConverter.cs
- Int64.cs
- RoutedCommand.cs
- ToolStripContentPanelRenderEventArgs.cs
- InkCanvasSelectionAdorner.cs
- ListView.cs
- DataRelationPropertyDescriptor.cs
- TagElement.cs
- Thickness.cs
- PolyBezierSegmentFigureLogic.cs
- DateTimeFormatInfo.cs
- Compiler.cs
- DataColumnMapping.cs
- UiaCoreTypesApi.cs
- BaseTemplateBuildProvider.cs
- SafePEFileHandle.cs
- LogWriteRestartAreaAsyncResult.cs
- SqlDependency.cs
- OperationAbortedException.cs
- CfgParser.cs
- PasswordTextNavigator.cs
- Soap11ServerProtocol.cs
- RootNamespaceAttribute.cs
- TextBreakpoint.cs
- ModifierKeysValueSerializer.cs
- GeometryHitTestResult.cs