e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
60 lines
1.9 KiB
C#
60 lines
1.9 KiB
C#
//----------------------------------------------------------------
|
|
// 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<string, MessageQuery>
|
|
{
|
|
public MessageQuerySet()
|
|
{
|
|
}
|
|
|
|
public MessageQuerySet(MessageQueryTable<string> queryTable)
|
|
{
|
|
if (queryTable == null)
|
|
{
|
|
throw FxTrace.Exception.ArgumentNull("queryTable");
|
|
}
|
|
|
|
InvertDictionary<MessageQuery, string>(queryTable, this);
|
|
}
|
|
|
|
[DefaultValue(null)]
|
|
public string Name
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
public MessageQueryTable<string> GetMessageQueryTable()
|
|
{
|
|
MessageQueryTable<string> result = new MessageQueryTable<string>();
|
|
InvertDictionary<string, MessageQuery>(this, result);
|
|
return result;
|
|
}
|
|
|
|
|
|
static void InvertDictionary<TKey, TValue>(IDictionary<TKey, TValue> source, IDictionary<TValue, TKey> destination)
|
|
{
|
|
foreach (KeyValuePair<TKey, TValue> vkpair in source)
|
|
{
|
|
destination.Add(vkpair.Value, vkpair.Key);
|
|
}
|
|
}
|
|
}
|
|
}
|