Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Services / Messaging / System / Messaging / Design / MessageFormatterConverter.cs / 1305376 / MessageFormatterConverter.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Messaging.Design { using System.Messaging; using System.Threading; using System.ComponentModel; using System.ComponentModel.Design.Serialization; using System.Reflection; using System.Diagnostics; using System; using System.Drawing; using System.Windows.Forms; using System.Windows.Forms.Design; using System.Windows.Forms.ComponentModel; using System.Messaging.Interop; using System.Collections; using System.Runtime.Serialization.Formatters; using System.Globalization; ////// internal class MessageFormatterConverter : ExpandableObjectConverter { public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { return (sourceType == typeof(string)); } /// /// /// public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { if (destinationType == typeof(InstanceDescriptor)) { return true; } return base.CanConvertTo(context, destinationType); } ///Gets a value indicating whether this converter can /// convert an object to the given destination type using the context. ////// public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) { if (value != null && value is string) { if (((string)value) == typeof(ActiveXMessageFormatter).Name) return new ActiveXMessageFormatter(); if (((string)value) == typeof(BinaryMessageFormatter).Name) return new BinaryMessageFormatter(); if (((string)value) == typeof(XmlMessageFormatter).Name) return new XmlMessageFormatter(); } return null; } /// /// public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { if (destinationType != null && destinationType == typeof(string)) { if (value == null) return Res.GetString(Res.toStringNone); return value.GetType().Name; } if (destinationType == typeof(InstanceDescriptor)) { if (value is XmlMessageFormatter) { XmlMessageFormatter f = (XmlMessageFormatter)value; ConstructorInfo ctor = typeof(XmlMessageFormatter).GetConstructor(new Type[] {typeof(string[])}); if (ctor != null) { return new InstanceDescriptor(ctor, new object[] {f.TargetTypeNames}); } } else if (value is ActiveXMessageFormatter) { ConstructorInfo ctor = typeof(ActiveXMessageFormatter).GetConstructor(new Type[0]); if (ctor != null) { return new InstanceDescriptor(ctor, new object[0]); } } else if (value is BinaryMessageFormatter) { BinaryMessageFormatter f = (BinaryMessageFormatter)value; ConstructorInfo ctor = typeof(BinaryMessageFormatter).GetConstructor(new Type[] { typeof(FormatterAssemblyStyle), typeof(FormatterTypeStyle)}); if (ctor != null) { return new InstanceDescriptor(ctor, new object[] {f.TopObjectFormat, f.TypeFormat}); } } } return base.ConvertTo(context, culture, value, destinationType); } /// /// public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) { StandardValuesCollection values = new StandardValuesCollection(new object[] {new ActiveXMessageFormatter(), new BinaryMessageFormatter(), new XmlMessageFormatter(), null}); return values; } public override bool GetStandardValuesExclusive(ITypeDescriptorContext context) { return true; } /// /// public override bool GetStandardValuesSupported(ITypeDescriptorContext context) { return true; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MergablePropertyAttribute.cs
- TemplateXamlParser.cs
- NavigationPropertyEmitter.cs
- FullTextLine.cs
- dbdatarecord.cs
- IsolatedStoragePermission.cs
- ProviderException.cs
- EventlogProvider.cs
- OdbcConnectionOpen.cs
- Viewport3DAutomationPeer.cs
- XsltArgumentList.cs
- SelectorItemAutomationPeer.cs
- XPathPatternBuilder.cs
- OleDbCommand.cs
- XmlDataDocument.cs
- SocketPermission.cs
- EntityDataSourceWrapper.cs
- AuthenticationService.cs
- Function.cs
- ThreadAbortException.cs
- NotifyCollectionChangedEventArgs.cs
- SafeWaitHandle.cs
- NavigationProgressEventArgs.cs
- XmlDataSourceView.cs
- BooleanToVisibilityConverter.cs
- DocumentViewerHelper.cs
- BmpBitmapDecoder.cs
- DataTablePropertyDescriptor.cs
- SimpleWebHandlerParser.cs
- DataBindingCollectionConverter.cs
- WindowsContainer.cs
- JavaScriptObjectDeserializer.cs
- InternalConfigHost.cs
- SBCSCodePageEncoding.cs
- XmlReader.cs
- HostedHttpRequestAsyncResult.cs
- ListBoxItemWrapperAutomationPeer.cs
- TextEvent.cs
- StylusButton.cs
- handlecollector.cs
- XmlWrappingReader.cs
- EditorPartCollection.cs
- IdentityHolder.cs
- MenuItemStyle.cs
- StylusCollection.cs
- TreeNodeMouseHoverEvent.cs
- DocumentGridContextMenu.cs
- handlecollector.cs
- OracleTransaction.cs
- IDReferencePropertyAttribute.cs
- TCEAdapterGenerator.cs
- wgx_exports.cs
- DataSourceProvider.cs
- EntityDataSourceDataSelection.cs
- SymbolUsageManager.cs
- WebUtil.cs
- MessageQueueEnumerator.cs
- KeySplineConverter.cs
- RsaSecurityTokenAuthenticator.cs
- InputGestureCollection.cs
- PackWebResponse.cs
- Menu.cs
- Table.cs
- LinkConverter.cs
- EntityRecordInfo.cs
- _TransmitFileOverlappedAsyncResult.cs
- RowToFieldTransformer.cs
- SafeCryptoHandles.cs
- XsltContext.cs
- LocalizationComments.cs
- ChannelSinkStacks.cs
- ConfigXmlElement.cs
- PermissionRequestEvidence.cs
- DesignerSelectionListAdapter.cs
- DynamicRenderer.cs
- SourceFileInfo.cs
- RuleElement.cs
- FrameworkTemplate.cs
- CacheChildrenQuery.cs
- ComplexTypeEmitter.cs
- DataProtection.cs
- FontInfo.cs
- HierarchicalDataBoundControl.cs
- WebScriptMetadataMessageEncodingBindingElement.cs
- AttachedPropertiesService.cs
- NavigationProperty.cs
- PlainXmlWriter.cs
- ThreadStartException.cs
- Int16Animation.cs
- NativeRightsManagementAPIsStructures.cs
- TraceProvider.cs
- ChameleonKey.cs
- SoapObjectReader.cs
- Decoder.cs
- ListControl.cs
- ToolStripItem.cs
- GeneralTransform.cs
- CreateInstanceBinder.cs
- WebPartDescription.cs
- EnterpriseServicesHelper.cs