Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- SettingsSection.cs
- WebPartDeleteVerb.cs
- FullTextLine.cs
- Int32Rect.cs
- BuildManager.cs
- ResourceKey.cs
- fixedPageContentExtractor.cs
- FormViewInsertedEventArgs.cs
- TypeUtil.cs
- DataControlHelper.cs
- ValueUnavailableException.cs
- SqlXmlStorage.cs
- CombinedGeometry.cs
- WriterOutput.cs
- DataDocumentXPathNavigator.cs
- Line.cs
- ParentUndoUnit.cs
- SettingsPropertyWrongTypeException.cs
- StrongTypingException.cs
- SamlSubjectStatement.cs
- SamlSubjectStatement.cs
- ListViewUpdatedEventArgs.cs
- MiniParameterInfo.cs
- CroppedBitmap.cs
- FrugalMap.cs
- MissingMemberException.cs
- SmtpFailedRecipientsException.cs
- VisualTransition.cs
- SmtpNetworkElement.cs
- FactoryGenerator.cs
- BufferedResponseStream.cs
- SqlFormatter.cs
- AvTraceDetails.cs
- DataBindingList.cs
- EncoderReplacementFallback.cs
- RenderingBiasValidation.cs
- ReaderWriterLock.cs
- PhysicalAddress.cs
- CngKeyCreationParameters.cs
- DataRow.cs
- MsmqBindingElementBase.cs
- CodeAttributeArgument.cs
- ListView.cs
- DataSourceXmlSerializer.cs
- DurableInstance.cs
- StorageSetMapping.cs
- PageBreakRecord.cs
- EncodingStreamWrapper.cs
- ObjectSpanRewriter.cs
- GroupLabel.cs
- Debug.cs
- GridViewHeaderRowPresenter.cs
- PaperSource.cs
- HttpWebRequestElement.cs
- MembershipSection.cs
- FunctionOverloadResolver.cs
- TextServicesDisplayAttributePropertyRanges.cs
- ActiveXSite.cs
- SkewTransform.cs
- ProfileServiceManager.cs
- DbDataRecord.cs
- StylusPointPropertyId.cs
- SwitchCase.cs
- WizardDesigner.cs
- ServiceSecurityAuditBehavior.cs
- SupportingTokenChannel.cs
- XPathDocumentBuilder.cs
- BulletDecorator.cs
- TypeConverterAttribute.cs
- InternalConfigHost.cs
- AuthenticationModuleElementCollection.cs
- DebugView.cs
- UncommonField.cs
- PrintPreviewControl.cs
- WebChannelFactory.cs
- StatusBarDesigner.cs
- ByteStreamMessageEncoderFactory.cs
- FontInfo.cs
- DataGridItem.cs
- Utils.cs
- ServiceEndpointElement.cs
- ListContractAdapter.cs
- ScrollContentPresenter.cs
- TypeConverterHelper.cs
- SvcMapFileLoader.cs
- SafeNativeMethodsCLR.cs
- EntityContainerEmitter.cs
- InstanceLockLostException.cs
- Rotation3DAnimation.cs
- ToolStripArrowRenderEventArgs.cs
- UserCancellationException.cs
- WSTrustFeb2005.cs
- SortKey.cs
- ColumnResizeUndoUnit.cs
- TypeBuilderInstantiation.cs
- VirtualizingPanel.cs
- TimeManager.cs
- WCFModelStrings.Designer.cs
- Module.cs
- TabletDevice.cs