です。機能があります。これは、不明な型の 'item'と呼ばれるオブジェクトを取り込みます。機能では、オブジェクトを宣言し、タイプが何であるかに応じて、オブジェクトは例えば、から値を取得します「アイテム」の何フィールドに依存します: "の文字列を渡し、ダイナミックフィールドは「T」タイプに依存し、ハードコードなし
private static void CreateObject<T>(T item)
{
SomeObject object = new SomeObject();
//if 'item' is type "A"
// object.Text = item.Display
//else if 'item' is type "B"
// object.Text = item.Text
//else if 'item' is type "C"
// object.Text = item.Value
}
は注意してくださいitem.display '、またはこれはオプションではありません。この関数では多くのことが行われていますが、これは必要なものを説明する関数の簡略化されたバージョンです。
これはもっとエレガントなやり方でできますか?
私は反射を見てきましたが、それはあなたがAdapterパターンを適用し、表示テキストや他のものを返します。アダプタオブジェクトを渡すことができ(ハードウェア、メモリなど)
+1 - はい、アダプタパターンは機能しますが、代理人を受け入れる方がはるかに便利です! – VinayC
@VinayC:OPは単なる値を返す以上のことをしたい。彼は、文字列を渡すだけでは不十分だと言いました。これは、他の値がオブジェクトから集められることを意味していました。彼は複数の代議員を通過しなければならないだろう。 – siride