Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RegexReplacement.cs
- CmsInterop.cs
- CalendarDateRange.cs
- LambdaCompiler.cs
- KeysConverter.cs
- TableParaClient.cs
- DocobjHost.cs
- ListenerBinder.cs
- SourceItem.cs
- Thread.cs
- RepeaterCommandEventArgs.cs
- UnsafeNativeMethods.cs
- Assert.cs
- FilterInvalidBodyAccessException.cs
- EncryptedPackageFilter.cs
- ThreadAttributes.cs
- QuaternionConverter.cs
- UserControlFileEditor.cs
- ExpressionBuilder.cs
- FilterQuery.cs
- FastEncoderWindow.cs
- SimpleWorkerRequest.cs
- AlignmentYValidation.cs
- PingReply.cs
- LexicalChunk.cs
- DataPager.cs
- MimeMultiPart.cs
- WorkerRequest.cs
- DataGridItemAutomationPeer.cs
- GroupBox.cs
- SynchronizationContext.cs
- EnterpriseServicesHelper.cs
- Mapping.cs
- Attributes.cs
- TextCollapsingProperties.cs
- ObservableCollection.cs
- CategoryGridEntry.cs
- StyleSheet.cs
- IndentTextWriter.cs
- SafeHandles.cs
- DataListCommandEventArgs.cs
- GridViewRowEventArgs.cs
- RuleAttributes.cs
- CrossAppDomainChannel.cs
- CharacterBuffer.cs
- InputScope.cs
- ObjectDataSourceSelectingEventArgs.cs
- LingerOption.cs
- TextParentUndoUnit.cs
- CodeTypeReferenceSerializer.cs
- ArrayList.cs
- AssemblyName.cs
- GridViewUpdatedEventArgs.cs
- MetadataArtifactLoaderCompositeResource.cs
- keycontainerpermission.cs
- XPathNodeList.cs
- PropertyInfoSet.cs
- StorageRoot.cs
- Oid.cs
- EventRecord.cs
- IISMapPath.cs
- PersistenceTask.cs
- HwndSource.cs
- GridViewColumnCollectionChangedEventArgs.cs
- LinkUtilities.cs
- TransformerInfoCollection.cs
- RtfNavigator.cs
- HtmlInputPassword.cs
- FlowDocumentReaderAutomationPeer.cs
- OperationGenerator.cs
- Win32.cs
- TemplateNameScope.cs
- TypeHelper.cs
- ListBox.cs
- HandlerMappingMemo.cs
- CapabilitiesAssignment.cs
- SHA1CryptoServiceProvider.cs
- MessagePropertyFilter.cs
- CustomErrorCollection.cs
- initElementDictionary.cs
- RuntimeIdentifierPropertyAttribute.cs
- ExceptionUtil.cs
- Rfc2898DeriveBytes.cs
- Query.cs
- HttpWebRequestElement.cs
- ReferentialConstraint.cs
- UInt32.cs
- WebPartConnectVerb.cs
- EntityContainerEntitySet.cs
- XmlSchemaObject.cs
- RadioButton.cs
- DigestComparer.cs
- InvokePattern.cs
- LoginName.cs
- MgmtConfigurationRecord.cs
- CalendarAutoFormatDialog.cs
- GrammarBuilderRuleRef.cs
- BuildDependencySet.cs
- CodeExporter.cs
- Rijndael.cs