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
- LinkButton.cs
- InternalConfigSettingsFactory.cs
- XpsViewerException.cs
- StructuredTypeEmitter.cs
- ZoneIdentityPermission.cs
- CallSiteOps.cs
- AnnotationComponentChooser.cs
- PhysicalAddress.cs
- GiveFeedbackEvent.cs
- GridViewEditEventArgs.cs
- SoundPlayer.cs
- DataGridItemAttachedStorage.cs
- TimeSpanConverter.cs
- ListViewItemSelectionChangedEvent.cs
- ErasingStroke.cs
- XmlBufferReader.cs
- DurableInstanceManager.cs
- SqlClientMetaDataCollectionNames.cs
- AlternationConverter.cs
- WmlCommandAdapter.cs
- HttpHandlersInstallComponent.cs
- AffineTransform3D.cs
- serverconfig.cs
- TrailingSpaceComparer.cs
- SmtpReplyReaderFactory.cs
- VSDExceptions.cs
- BuildDependencySet.cs
- TailPinnedEventArgs.cs
- RemotingAttributes.cs
- SmtpCommands.cs
- AdPostCacheSubstitution.cs
- RpcResponse.cs
- CSharpCodeProvider.cs
- PropertyEntry.cs
- ConfigUtil.cs
- DataErrorValidationRule.cs
- Point3DCollection.cs
- WebPartDeleteVerb.cs
- FixedSOMSemanticBox.cs
- QilXmlReader.cs
- DesignerAdapterUtil.cs
- GeometryCombineModeValidation.cs
- ConversionContext.cs
- WorkflowInstanceExtensionCollection.cs
- TokenizerHelper.cs
- ResourceAssociationType.cs
- SqlBulkCopyColumnMappingCollection.cs
- DataGridViewComboBoxEditingControl.cs
- StrokeNodeOperations.cs
- WebPartAddingEventArgs.cs
- LicenseProviderAttribute.cs
- RoleGroup.cs
- Wizard.cs
- ClientSettingsProvider.cs
- WebPartEventArgs.cs
- PersistenceIOParticipant.cs
- WCFServiceClientProxyGenerator.cs
- PersonalizableTypeEntry.cs
- ThousandthOfEmRealDoubles.cs
- SecureUICommand.cs
- Int32Rect.cs
- SimpleFieldTemplateFactory.cs
- CharAnimationUsingKeyFrames.cs
- HtmlSelect.cs
- DataSourceSerializationException.cs
- OraclePermission.cs
- AnnotationResource.cs
- WebPart.cs
- ForwardPositionQuery.cs
- TraversalRequest.cs
- Parser.cs
- TableCell.cs
- Send.cs
- VisualStyleElement.cs
- Ray3DHitTestResult.cs
- EntitySetDataBindingList.cs
- DesignBindingEditor.cs
- BrushValueSerializer.cs
- DataGridViewRowHeaderCell.cs
- HandlerMappingMemo.cs
- TimeStampChecker.cs
- SqlNamer.cs
- AssemblyBuilderData.cs
- RijndaelManagedTransform.cs
- XamlHostingSectionGroup.cs
- SQLDecimal.cs
- InheritablePropertyChangeInfo.cs
- ValidationErrorCollection.cs
- DataBoundControl.cs
- StreamingContext.cs
- DataGridTextBox.cs
- ObjectRef.cs
- AutomationPatternInfo.cs
- QueryCoreOp.cs
- DBSqlParser.cs
- AdvancedBindingPropertyDescriptor.cs
- MsmqIntegrationReceiveParameters.cs
- StylusEditingBehavior.cs
- Oid.cs
- ValueChangedEventManager.cs