Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Services / Messaging / System / Messaging / Design / MessageQueueConverter.cs / 1305376 / MessageQueueConverter.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; using System.Diagnostics; using System; using System.Drawing; using System.Windows.Forms; using System.Windows.Forms.Design; using System.Windows.Forms.ComponentModel; using System.ComponentModel.Design.Serialization; using System.Reflection; using System.Messaging.Interop; using System.Collections; using System.Collections.Specialized; using System.Globalization; ////// internal class MessageQueueConverter : TypeConverter { private static Hashtable componentsCreated = new Hashtable(StringComparer.InvariantCultureIgnoreCase); /// /// public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { if (sourceType == typeof(string)) { return true; } return base.CanConvertFrom(context, sourceType); } internal static void AddToCache(MessageQueue queue) { componentsCreated[queue.Path] = queue; } /// /// public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) { if (value != null && value is string) { string text = ((string)value).Trim(); if (text == String.Empty) return null; if (text.CompareTo(Res.GetString(Res.NotSet)) != 0) { MessageQueue newQueue = GetFromCache(text); if (newQueue != null) return newQueue; else { newQueue = new MessageQueue(text); AddToCache(newQueue); if (context != null) context.Container.Add(newQueue); return newQueue; } } } return null; } /// /// public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { if (destinationType != null && destinationType == typeof(string)) { if (value != null) return((MessageQueue)value).Path; else return Res.GetString(Res.NotSet); } return base.ConvertTo(context, culture, value, destinationType); } internal static MessageQueue GetFromCache(string path) { if (componentsCreated.ContainsKey(path)) { MessageQueue existingComponent = (MessageQueue)componentsCreated[path]; if (existingComponent.Site == null) componentsCreated.Remove(path); else { if (existingComponent.Path == path) return existingComponent; else componentsCreated.Remove(path); } } return null; } } } // 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
- CollectionViewGroupInternal.cs
- ClientFormsAuthenticationMembershipProvider.cs
- _SSPISessionCache.cs
- XmlNodeChangedEventArgs.cs
- FocusWithinProperty.cs
- WebConfigurationFileMap.cs
- PerformanceCounterPermissionAttribute.cs
- Common.cs
- XmlKeywords.cs
- DesignConnection.cs
- HebrewCalendar.cs
- PermissionSetEnumerator.cs
- DbConnectionPoolGroup.cs
- CompilerGeneratedAttribute.cs
- CodeGotoStatement.cs
- Keyboard.cs
- SmiGettersStream.cs
- XpsDigitalSignature.cs
- SizeFConverter.cs
- ToolboxItemCollection.cs
- GeneralTransform3DGroup.cs
- XmlCharType.cs
- ArcSegment.cs
- EventProxy.cs
- BoolExpr.cs
- WindowsListViewItemCheckBox.cs
- SelectingProviderEventArgs.cs
- PrintSchema.cs
- CharacterBuffer.cs
- CookieHandler.cs
- CfgParser.cs
- EmbeddedObject.cs
- ViewKeyConstraint.cs
- ProcessInputEventArgs.cs
- PageParser.cs
- ImageSourceConverter.cs
- DoubleUtil.cs
- DataListDesigner.cs
- WebPartManagerInternals.cs
- CapabilitiesPattern.cs
- DBCSCodePageEncoding.cs
- SqlConnectionPoolProviderInfo.cs
- ContextProperty.cs
- Nodes.cs
- SelfIssuedAuthRSACryptoProvider.cs
- ObjectStorage.cs
- StorageMappingItemCollection.cs
- Visual3DCollection.cs
- FilterEventArgs.cs
- SaveFileDialog.cs
- SystemBrushes.cs
- EntityDataSourceMemberPath.cs
- GradientStop.cs
- CompiledELinqQueryState.cs
- Dynamic.cs
- SymLanguageType.cs
- TreeNodeStyleCollectionEditor.cs
- GraphicsPathIterator.cs
- SoapElementAttribute.cs
- CreateUserErrorEventArgs.cs
- EntityViewGenerator.cs
- DeadCharTextComposition.cs
- DataMemberFieldEditor.cs
- TextPointerBase.cs
- SamlSecurityTokenAuthenticator.cs
- ImmutableObjectAttribute.cs
- ItemChangedEventArgs.cs
- CacheForPrimitiveTypes.cs
- ActivityDesigner.cs
- TraceUtility.cs
- XDeferredAxisSource.cs
- DiscoveryDocumentSearchPattern.cs
- ObjectDataSourceDisposingEventArgs.cs
- DisplayInformation.cs
- DataGridRowAutomationPeer.cs
- ActivityXamlServices.cs
- ObjectCache.cs
- ConfigXmlElement.cs
- OpenTypeLayoutCache.cs
- BitFlagsGenerator.cs
- Evidence.cs
- DomNameTable.cs
- BrowsableAttribute.cs
- AtlasWeb.Designer.cs
- SafeEventHandle.cs
- DefaultAssemblyResolver.cs
- TypeConverterHelper.cs
- Part.cs
- ExpressionWriter.cs
- UnsafeNativeMethods.cs
- RuntimeCompatibilityAttribute.cs
- ZipFileInfoCollection.cs
- WebBrowserNavigatingEventHandler.cs
- PnrpPermission.cs
- StateMachineWorkflowDesigner.cs
- ColumnReorderedEventArgs.cs
- HMAC.cs
- HierarchicalDataBoundControl.cs
- ParameterBuilder.cs
- ConsoleCancelEventArgs.cs