1
反射を使用して呼び出されるメソッドにint、stringおよびfloatを渡すにはどうすればよいですか?基本的には、次のように呼び出すときに異なるタイプ: method.Invoke(service、null); 私はオブジェクト配列を渡すことができますが、どのような型を渡しているのですか? ありがとうC#reflections - 異なる型のパラメータを持つ呼び出しメソッド
反射を使用して呼び出されるメソッドにint、stringおよびfloatを渡すにはどうすればよいですか?基本的には、次のように呼び出すときに異なるタイプ: method.Invoke(service、null); 私はオブジェクト配列を渡すことができますが、どのような型を渡しているのですか? ありがとうC#reflections - 異なる型のパラメータを持つ呼び出しメソッド
あなたのメソッド情報は、ちょうど1つのメソッドに結合されています。シグネチャ(パラメータの型)が異なる場合、2つの異なるメソッドが同じ名前を持つ可能性があります。
あなたがオーバーロードされたメソッドを持っているのであれば、あなたは、アレイ内のパラメータタイプを提供
public MethodInfo GetMethod(
string name,
Type[] types
)
を使用することによって、それらのいずれかを取得することができます。
私は反射を使ってgetdetails(int id、string name、float avgsal)のようなメソッドを呼び出すとします。それでは、どのようにしてオブジェクトの[] parameters配列に格納する必要がありますか? – Milee
あなたのMethodInfoは 'var method = type.GetMethod(" getdetails "、新しいタイプ[] {typeof(int)、typeof(string)、typeof(float)});}で取得し、' var result = method .Invoke(myObject、new object [] {myId、myName、myAvgsal})); ' –