Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- XNodeValidator.cs
- DataGridCell.cs
- PageRequestManager.cs
- View.cs
- AssociationProvider.cs
- ManipulationDevice.cs
- ConfigurationFileMap.cs
- IChannel.cs
- HttpConfigurationContext.cs
- XmlWriterSettings.cs
- XmlUtil.cs
- LocatorPart.cs
- DynamicRenderer.cs
- TypedDataSetSchemaImporterExtensionFx35.cs
- DataGridParentRows.cs
- EmbeddedMailObjectCollectionEditor.cs
- BamlTreeNode.cs
- BitmapEffectRenderDataResource.cs
- PageAsyncTaskManager.cs
- FormsAuthenticationEventArgs.cs
- HttpWriter.cs
- ArrayList.cs
- DataTableTypeConverter.cs
- DependsOnAttribute.cs
- ByteRangeDownloader.cs
- RelatedCurrencyManager.cs
- FlowDocumentReader.cs
- EncoderParameters.cs
- SmiConnection.cs
- XmlMembersMapping.cs
- ThreadStateException.cs
- UIntPtr.cs
- AddingNewEventArgs.cs
- TimerEventSubscriptionCollection.cs
- Registration.cs
- _ScatterGatherBuffers.cs
- XamlClipboardData.cs
- RangeValidator.cs
- RuntimeWrappedException.cs
- DropShadowBitmapEffect.cs
- shaperfactoryquerycacheentry.cs
- DataGridClipboardCellContent.cs
- UiaCoreTypesApi.cs
- Set.cs
- XmlSchemaProviderAttribute.cs
- XamlPoint3DCollectionSerializer.cs
- AudioFormatConverter.cs
- MissingManifestResourceException.cs
- Helper.cs
- KeyEventArgs.cs
- UriScheme.cs
- Int16KeyFrameCollection.cs
- HwndProxyElementProvider.cs
- ReaderOutput.cs
- XmlComplianceUtil.cs
- DataRowView.cs
- SuppressMergeCheckAttribute.cs
- GridLength.cs
- XmlSerializerNamespaces.cs
- CheckBoxPopupAdapter.cs
- messageonlyhwndwrapper.cs
- SchemaTypeEmitter.cs
- XmlSchemaObjectCollection.cs
- SslStreamSecurityElement.cs
- PositiveTimeSpanValidator.cs
- BindingParameterCollection.cs
- _NTAuthentication.cs
- SoapProtocolImporter.cs
- SweepDirectionValidation.cs
- CardSpaceException.cs
- Convert.cs
- NamespaceCollection.cs
- OdbcReferenceCollection.cs
- FormatterServices.cs
- AffineTransform3D.cs
- FixedSOMElement.cs
- DefaultEvaluationContext.cs
- MessageAction.cs
- MessageFilterException.cs
- ComponentCollection.cs
- BindingGraph.cs
- EntityObject.cs
- ParserStreamGeometryContext.cs
- XmlTextAttribute.cs
- DictionaryEditChange.cs
- CommandLibraryHelper.cs
- __FastResourceComparer.cs
- ConsoleCancelEventArgs.cs
- ComplexBindingPropertiesAttribute.cs
- ExpandoObject.cs
- MinimizableAttributeTypeConverter.cs
- XmlWrappingReader.cs
- CursorConverter.cs
- BindingMemberInfo.cs
- TextTreeInsertUndoUnit.cs
- CompositeDataBoundControl.cs
- ControlPropertyNameConverter.cs
- GeneralTransform3D.cs
- ToolStripSplitButton.cs
- ButtonFlatAdapter.cs