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 / 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
- OleDbInfoMessageEvent.cs
- ServiceDocumentFormatter.cs
- PageContentAsyncResult.cs
- UnsafeNativeMethods.cs
- CellConstantDomain.cs
- DateTime.cs
- CustomAttributeSerializer.cs
- IisTraceListener.cs
- WindowsGrip.cs
- VectorCollectionConverter.cs
- RoutedEventHandlerInfo.cs
- NonBatchDirectoryCompiler.cs
- CompoundFileDeflateTransform.cs
- AnimationClock.cs
- CreateUserErrorEventArgs.cs
- MailBnfHelper.cs
- TextElement.cs
- FormParameter.cs
- PropertyMapper.cs
- DataBindEngine.cs
- CompiledQueryCacheKey.cs
- AsmxEndpointPickerExtension.cs
- MailWebEventProvider.cs
- CaseInsensitiveComparer.cs
- OdbcDataAdapter.cs
- DoubleLinkListEnumerator.cs
- XmlAttributeCache.cs
- SettingsPropertyWrongTypeException.cs
- SmiEventSink.cs
- BamlResourceSerializer.cs
- HideDisabledControlAdapter.cs
- ProxyManager.cs
- XmlTextAttribute.cs
- SchemaExporter.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- XamlToRtfWriter.cs
- ListViewDataItem.cs
- NotifyCollectionChangedEventArgs.cs
- DataGridViewColumnStateChangedEventArgs.cs
- EntityDataSourceUtil.cs
- WebColorConverter.cs
- DataSourceIDConverter.cs
- OpCellTreeNode.cs
- RecipientInfo.cs
- ReservationCollection.cs
- DrawListViewColumnHeaderEventArgs.cs
- NativeObjectSecurity.cs
- XmlTypeMapping.cs
- FamilyTypefaceCollection.cs
- ReflectTypeDescriptionProvider.cs
- ContextStaticAttribute.cs
- NumericUpDown.cs
- ADMembershipUser.cs
- UidManager.cs
- ProjectionCamera.cs
- PropertyDescriptorGridEntry.cs
- ListViewAutomationPeer.cs
- AnnotationComponentManager.cs
- XmlTypeMapping.cs
- UnsupportedPolicyOptionsException.cs
- MetadataImporterQuotas.cs
- RelationshipEntry.cs
- LogRecordSequence.cs
- ReferentialConstraint.cs
- ReadWriteSpinLock.cs
- WhitespaceSignificantCollectionAttribute.cs
- MachinePropertyVariants.cs
- FrameworkEventSource.cs
- HyperlinkAutomationPeer.cs
- SystemWebExtensionsSectionGroup.cs
- DbTransaction.cs
- ToolZone.cs
- HashMembershipCondition.cs
- BulletedListEventArgs.cs
- MultipleViewPatternIdentifiers.cs
- Random.cs
- HiddenFieldPageStatePersister.cs
- TargetParameterCountException.cs
- Image.cs
- ListParagraph.cs
- CommonProperties.cs
- Propagator.cs
- Grant.cs
- Attributes.cs
- BamlRecordHelper.cs
- ScaleTransform3D.cs
- UpdateRecord.cs
- MetadataPropertyvalue.cs
- DiagnosticStrings.cs
- FunctionQuery.cs
- Matrix.cs
- DefaultProxySection.cs
- ZipIOLocalFileHeader.cs
- RegexCompiler.cs
- BamlReader.cs
- BitmapDownload.cs
- AnonymousIdentificationModule.cs
- OrthographicCamera.cs
- XmlNotation.cs
- MachineKeyValidationConverter.cs