デザイン時にこれらの値の型と数はわかりませんが、任意の数の型を保持できるクラスを設計する必要があります。たとえば、2つのint値と1つのint値または2つのint値でクラスを初期化できます。私はまた、可能な限りボクシングを避けたい( 'オブジェクト'タイプを使用して)。名前を持っているそれぞれのタイプも、値を保持しているので、内部辞書は型パラメータが不明なクラスの設計
Dictionary<string,object> nameValues;//Boxing!
ようになりますと、コンストラクタは
MyClass(params object[] values) { ... }
のようになります。私はこの
MyClass mc = new MyClass("intVal",3,"doubleVal",3.5,"dateTimeVal",DateTime.Now);
のようにインスタンスを構築することができ
可能な限りボクシングを避けるより効率的なデザインに関する提案。
編集: '文字列'の値もパラメータとして指定できます。私は当初、バリュータイプだけを言及しましたが、それはもはや事例ではありません!
を使用しています下のようなものかもしれボクシングを使用して。一方、あなたが何をしたいかを教えてくれれば、誰かがより良い解決策を思いつくかもしれません。 – decyclone
値の型のパラメータには何か制限があります。2,3,4,5 – TalentTuner
@decyclone実際には、実際に私が述べたことを達成したいと思います。つまり、各値の型に関連する名前がある任意の数の値型。 – alwayslearning