//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------- namespace System.ServiceModel { using System.Collections.Generic; using System.ComponentModel; using System.ServiceModel.Activities; using System.ServiceModel.Dispatcher; using System.Diagnostics.CodeAnalysis; using System.Runtime; using System.Runtime.Serialization; using System.Security.Permissions; [SuppressMessage(FxCop.Category.Naming, FxCop.Rule.IdentifiersShouldHaveCorrectSuffix, Justification = "Arch approved name")] [SuppressMessage(FxCop.Category.Usage, FxCop.Rule.MarkISerializableTypesWithSerializable, Justification = "TODO 87908, We can consider not deriving from Dictionary")] public class MessageQuerySet : Dictionary { public MessageQuerySet() { } public MessageQuerySet(MessageQueryTable queryTable) { if (queryTable == null) { throw FxTrace.Exception.ArgumentNull("queryTable"); } InvertDictionary(queryTable, this); } [DefaultValue(null)] public string Name { get; set; } public MessageQueryTable GetMessageQueryTable() { MessageQueryTable result = new MessageQueryTable(); InvertDictionary(this, result); return result; } static void InvertDictionary(IDictionary source, IDictionary destination) { foreach (KeyValuePair vkpair in source) { destination.Add(vkpair.Value, vkpair.Key); } } } }