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 / StaticExtensionConverter.cs / 1 / StaticExtensionConverter.cs
//------------------------------------------------------------------------
//
// Microsoft Windows Client Platform
// Copyright (C) Microsoft Corporation, 2005
//
// File: StaticExtensionConverter.cs
//
// Contents: Converter to convert StaticExtensions 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 StaticExtensionConverter : 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 StaticExtension, not an arbitrary class
///
[SecurityCritical, SecurityTreatAsSafe]
public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
{
if (destinationType == typeof(InstanceDescriptor))
{
StaticExtension staticExtension = value as StaticExtension;
if (staticExtension == null)
throw new ArgumentException(SR.Get(SRID.MustBeOfType, "value", "StaticExtension"));
return new InstanceDescriptor(typeof(StaticExtension).GetConstructor(new Type[] { typeof(string) }),
new object[] { staticExtension.Member });
}
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: StaticExtensionConverter.cs
//
// Contents: Converter to convert StaticExtensions 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 StaticExtensionConverter : 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 StaticExtension, not an arbitrary class
///
[SecurityCritical, SecurityTreatAsSafe]
public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
{
if (destinationType == typeof(InstanceDescriptor))
{
StaticExtension staticExtension = value as StaticExtension;
if (staticExtension == null)
throw new ArgumentException(SR.Get(SRID.MustBeOfType, "value", "StaticExtension"));
return new InstanceDescriptor(typeof(StaticExtension).GetConstructor(new Type[] { typeof(string) }),
new object[] { staticExtension.Member });
}
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
- AppSettingsExpressionBuilder.cs
- ListBoxItemAutomationPeer.cs
- HttpCacheVary.cs
- RegionInfo.cs
- ChangePassword.cs
- Point4DValueSerializer.cs
- SynchronizationValidator.cs
- processwaithandle.cs
- GridErrorDlg.cs
- BeginEvent.cs
- InProcStateClientManager.cs
- DocumentXPathNavigator.cs
- StructuralObject.cs
- URL.cs
- GeometryModel3D.cs
- QueryPageSettingsEventArgs.cs
- StorageAssociationTypeMapping.cs
- CommonRemoteMemoryBlock.cs
- IdlingCommunicationPool.cs
- ObjectDataSourceMethodEventArgs.cs
- HyperLinkField.cs
- StringDictionary.cs
- WindowPattern.cs
- IPGlobalProperties.cs
- MimeTypeMapper.cs
- WorkflowMessageEventArgs.cs
- SqlMethodAttribute.cs
- ExtensionWindowHeader.cs
- DataConnectionHelper.cs
- MetadataArtifactLoaderCompositeFile.cs
- PasswordBoxAutomationPeer.cs
- LoginDesignerUtil.cs
- MemberRelationshipService.cs
- GeometryCollection.cs
- RangeValueProviderWrapper.cs
- SafeBitVector32.cs
- TableLayoutSettings.cs
- ResolveInfo.cs
- EntityModelSchemaGenerator.cs
- TextViewSelectionProcessor.cs
- ClientRoleProvider.cs
- HttpGetServerProtocol.cs
- SecurityDocument.cs
- BrushConverter.cs
- BulletDecorator.cs
- _SafeNetHandles.cs
- ElementHost.cs
- EventPropertyMap.cs
- StoreConnection.cs
- XmlSchemaSimpleContent.cs
- ComponentChangingEvent.cs
- CodeTypeOfExpression.cs
- QilList.cs
- DispatcherOperation.cs
- CodeLabeledStatement.cs
- PrintingPermission.cs
- RequestResizeEvent.cs
- EnumConverter.cs
- SelectiveScrollingGrid.cs
- NativeMethods.cs
- SemaphoreFullException.cs
- FramingFormat.cs
- DocumentAutomationPeer.cs
- WasEndpointConfigContainer.cs
- UTF8Encoding.cs
- AnonymousIdentificationSection.cs
- PropertyMapper.cs
- RegexStringValidatorAttribute.cs
- Light.cs
- FontStretches.cs
- MaskedTextBox.cs
- ColorBlend.cs
- SqlDataAdapter.cs
- ScrollProviderWrapper.cs
- RadioButtonList.cs
- VideoDrawing.cs
- LogLogRecordHeader.cs
- ParameterSubsegment.cs
- ImmComposition.cs
- Journaling.cs
- MenuItem.cs
- SerTrace.cs
- WSSecureConversation.cs
- AlternateViewCollection.cs
- CodeSnippetTypeMember.cs
- DataGridViewSelectedRowCollection.cs
- EntityStoreSchemaGenerator.cs
- SetterBaseCollection.cs
- SQLDoubleStorage.cs
- TraceFilter.cs
- InstanceBehavior.cs
- recordstatescratchpad.cs
- DetailsView.cs
- CodeArrayCreateExpression.cs
- CodeConditionStatement.cs
- ScrollContentPresenter.cs
- DbProviderManifest.cs
- FindRequestContext.cs
- NavigationCommands.cs
- HttpCacheVary.cs