1. ホーム
  2. c#

[解決済み] .NETでシリアライズ可能な汎用Key/Valueペアクラスはありますか?

2023-07-14 02:42:57

質問

Webサービスに含めることができる、キーと値のペアのオブジェクトを探しています。

私は.NETの System.Collections.Generic.KeyValuePair<> クラスを使ってみましたが、これはウェブサービスで適切にシリアライズされません。Webサービスでは、KeyとValueのプロパティはシリアライズされないので、誰かがこれを修正する方法を知っていない限り、このクラスは役に立ちません。

このような状況で使用できる他の汎用クラスはありますか?

私なら、.NETの System.Web.UI.Pair クラスを使いますが、これは型にObjectを使っています。型安全性のためだけであれば、Genericクラスを使用するのもいいと思います。

どのように解決するのか?

構造体/クラスを定義するだけです。

[Serializable]
public struct KeyValuePair<K,V>
{
  public K Key {get;set;}
  public V Value {get;set;}
}