Xamarin Public Jenkins (auto-signing) e79aa3c0ed Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
2016-08-03 10:59:49 +00:00

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);
}
}
}
}