Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / 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 chuckj
//
//-----------------------------------------------------------------------
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
- WebPartConnectionsCancelEventArgs.cs
- ScrollItemPatternIdentifiers.cs
- WebEventCodes.cs
- _PooledStream.cs
- TrackingAnnotationCollection.cs
- EntitySqlQueryBuilder.cs
- WasEndpointConfigContainer.cs
- XmlIncludeAttribute.cs
- MergeExecutor.cs
- BookmarkManager.cs
- DataGridViewAutoSizeModeEventArgs.cs
- ConstraintEnumerator.cs
- CaretElement.cs
- SettingsPropertyWrongTypeException.cs
- WindowsListViewScroll.cs
- CodeEventReferenceExpression.cs
- AudioDeviceOut.cs
- FileEnumerator.cs
- MiniLockedBorderGlyph.cs
- XmlSchemaProviderAttribute.cs
- FrameDimension.cs
- CriticalHandle.cs
- ClientUrlResolverWrapper.cs
- SortQueryOperator.cs
- DoubleAnimationClockResource.cs
- BookmarkScopeManager.cs
- SqlCacheDependency.cs
- SiteOfOriginPart.cs
- TemplateKeyConverter.cs
- BulletDecorator.cs
- SiteMapDataSource.cs
- SqlBuilder.cs
- BlockExpression.cs
- DataAccessor.cs
- DynamicResourceExtensionConverter.cs
- XmlLanguage.cs
- SymDocumentType.cs
- XLinq.cs
- ByteArrayHelperWithString.cs
- SafeArrayTypeMismatchException.cs
- JoinSymbol.cs
- DataTemplateSelector.cs
- Lookup.cs
- TableParaClient.cs
- _ConnectOverlappedAsyncResult.cs
- StateChangeEvent.cs
- Header.cs
- BCryptHashAlgorithm.cs
- SqlXml.cs
- Vector3DConverter.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- IteratorDescriptor.cs
- Opcode.cs
- SelectorAutomationPeer.cs
- VScrollProperties.cs
- Monitor.cs
- DataSourceXmlElementAttribute.cs
- EntityDataSourceChangingEventArgs.cs
- SoapFault.cs
- RegisterResponseInfo.cs
- DbQueryCommandTree.cs
- MappingMetadataHelper.cs
- MultiDataTrigger.cs
- APCustomTypeDescriptor.cs
- SimpleTypesSurrogate.cs
- KeyedByTypeCollection.cs
- EmptyCollection.cs
- DesignerDataSchemaClass.cs
- CatalogPartCollection.cs
- SelectionItemPattern.cs
- FilteredXmlReader.cs
- AppearanceEditorPart.cs
- StreamReader.cs
- AcceptorSessionSymmetricTransportSecurityProtocol.cs
- CatalogPartCollection.cs
- Light.cs
- BamlRecords.cs
- UserControl.cs
- DeferredTextReference.cs
- CachedPathData.cs
- PeerCollaborationPermission.cs
- MemberAccessException.cs
- Rect.cs
- FixedBufferAttribute.cs
- ProgressBar.cs
- Part.cs
- NumericUpDownAccelerationCollection.cs
- WindowsRegion.cs
- EpmCustomContentSerializer.cs
- Policy.cs
- ChildDocumentBlock.cs
- OleDbError.cs
- SizeConverter.cs
- CommandLibraryHelper.cs
- RadioButtonStandardAdapter.cs
- BooleanFacetDescriptionElement.cs
- XmlSchemaImport.cs
- TrustLevel.cs
- DataSourceSelectArguments.cs
- ServerIdentity.cs