1

実行時にいくつかのプロパティを設定する必要がありますが、いくつかのプロパティには 5 つの設定があり、別のプロパティには 3 つまたは 4 つの設定があるという問題が発生します。複数のクラスを書く必要のないプロパティ?

1 つの例としてColor、唯一の設定がというプロパティColorがありますが、別のシナリオでは、とMaskの設定を持つ というプロパティがあります。MaskTypeMask

4

3 に答える 3

2

ExpandoObjectを見てみたいと思うかもしれません。プロパティとその値を動的に追加できますが、.NET 4 以降が必要です。

于 2012-10-23T14:13:56.317 に答える
2

これは古典的であり、解決策は、プロパティにどのようにアクセスしたいかによって異なります。
ASP.NET では、キャッシュは次のようなものを使用します。

public class Cache
{
   private Dictionary<string, object> CachedValues;

   public object this [string arg]
   {
       get
       {
           return CachedValues[arg];
       }
   }
}

または、使用できますTuple<T1, T2, T3...>

dynamicまたは、匿名型を使用できます

于 2012-10-23T14:17:49.383 に答える
1

個々のオブジェクトを表す個々のクラスを作成する方が常に良いと思います。私の意見では、ジェネリッククラスを作成しようとすると問題が増えるだけです。おそらく、ファクトリまたはアダプタのパターンを見て、さまざまなシナリオで使用するクラスを決定してください。

于 2012-10-23T14:15:46.600 に答える