Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Framework / System / Windows / DynamicResourceExtensionConverter.cs / 1 / 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
- LinkedResourceCollection.cs
- ISO2022Encoding.cs
- SlipBehavior.cs
- CompilerTypeWithParams.cs
- DependencySource.cs
- MessageContractAttribute.cs
- WebPartManagerInternals.cs
- SqlCharStream.cs
- BuildDependencySet.cs
- RsaSecurityTokenAuthenticator.cs
- SendKeys.cs
- DeploymentExceptionMapper.cs
- ImmutableDispatchRuntime.cs
- AuditLevel.cs
- RuntimeResourceSet.cs
- AbstractDataSvcMapFileLoader.cs
- ParserStreamGeometryContext.cs
- cookiecontainer.cs
- DecoderExceptionFallback.cs
- CollectionMarkupSerializer.cs
- BaseHashHelper.cs
- CookielessData.cs
- ToolstripProfessionalRenderer.cs
- BitmapEffectRenderDataResource.cs
- SqlCommand.cs
- SqlAliaser.cs
- SQLSingle.cs
- SharedDp.cs
- BindingOperations.cs
- ColumnCollectionEditor.cs
- EncodingStreamWrapper.cs
- ButtonBase.cs
- StringWriter.cs
- CodeExpressionCollection.cs
- ToolStripItemImageRenderEventArgs.cs
- StyleSheetComponentEditor.cs
- UnsafeNetInfoNativeMethods.cs
- CopyCodeAction.cs
- ListBoxAutomationPeer.cs
- WorkflowInstance.cs
- QueryValue.cs
- CallbackHandler.cs
- ViewStateException.cs
- FolderBrowserDialog.cs
- EmissiveMaterial.cs
- ParserStack.cs
- RedBlackList.cs
- HtmlGenericControl.cs
- DropAnimation.xaml.cs
- XmlSchemaInfo.cs
- ImagingCache.cs
- SqlCommandBuilder.cs
- ItemsPresenter.cs
- CodeCatchClause.cs
- DictionaryChange.cs
- TransactionException.cs
- ViewSimplifier.cs
- SystemBrushes.cs
- TransferRequestHandler.cs
- PublishLicense.cs
- TimeZoneInfo.cs
- TrustManager.cs
- Closure.cs
- NegotiationTokenAuthenticatorStateCache.cs
- TdsParameterSetter.cs
- EqualityComparer.cs
- GridItemCollection.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- ExpressionTextBox.xaml.cs
- WithStatement.cs
- TreeBuilderXamlTranslator.cs
- ExceptionWrapper.cs
- Compiler.cs
- StatusBar.cs
- CancellationScope.cs
- DesignTimeParseData.cs
- GenericRootAutomationPeer.cs
- ParserExtension.cs
- XPathDocument.cs
- StateBag.cs
- RijndaelManagedTransform.cs
- ResourceDefaultValueAttribute.cs
- WindowsScrollBarBits.cs
- Permission.cs
- DefaultAssemblyResolver.cs
- OdbcConnectionString.cs
- DocumentSequenceHighlightLayer.cs
- PolyBezierSegment.cs
- SchemaInfo.cs
- HeaderedItemsControl.cs
- HitTestWithGeometryDrawingContextWalker.cs
- SmiEventStream.cs
- Authorization.cs
- ListenerBinder.cs
- RegisteredHiddenField.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- DBConnectionString.cs
- TrackingStringDictionary.cs
- ConnectionAcceptor.cs
- NamespaceDecl.cs