オブジェクトのメソッドを呼び出す必要がありますが、実行時までメソッド名がわかりません。
利用可能なテクニックは何ですか?
(例: GetMethod().Invoke()、デリゲート、c# 4.0 動的)
ありがとう!
オブジェクトのメソッドを呼び出す必要がありますが、実行時までメソッド名がわかりません。
利用可能なテクニックは何ですか?
(例: GetMethod().Invoke()、デリゲート、c# 4.0 動的)
ありがとう!
C# 4.0 のdynamic
機能は、これを行う最も簡単な方法です。本当の意味で、dynamic
Reflection の「単なるラッパー」です。これは非常に優れたラッパーですが、おそらく最良の選択肢です。
他の方法では、おおよそ難易度が上がります:
最後の 3 つは気弱な人向けではありません。最善の策はdynamic
、独自の Reflection コードを使用または作成することです。dynamic
3 年前に似たようなコードを書いていたら、それを使っていたでしょう。
Reflection を使用して、実行時まで名前がわからない関数を呼び出すことができます。ここにいくつかのドキュメントがあります:
http://msdn.microsoft.com/en-us/library/f7ykdhsy%28VS.80%29.aspx