私はthisのような他の質問を見たことがあるが、運がない。私は答えの周りに踊っているように感じる。呼び出しを呼び出すとパラメータの数が一致しない
MethodInfo myMethod = MakeGenericMethod(Type.GetType(MyClass))
を呼び出すためにリフレクションを使用した後、私は、デバッガで次のようになりますMethodInfo
オブジェクトがあります。
myMethod --> Int32 Count[MyClass](System.Data.IDbConnection, ICriteria)
を...と私はそう呼び出しを使用してのようにそれを呼び出すようにしてみてください。
ICriteria myCriteria = new Criteria("some info here");
//'connection' is an object of type System.Data.IDBConnection
int count = (int)myMethod.Invoke(connection, new object [] {myCriteria});
...しかし、私はこれを行うときにパラメータの数の不一致があり、なぜ私は頭が痛いです。
これは一般的な方法なのでしょうか?または、おそらくCount
が拡張メソッドconnection
にあるという事実?参考のため
、私のメソッドを呼び出すの非反射、straighforwardの方法は、メソッドが拡張メソッドなので、それはクラスの一部ではないことint count = connection.Count<MyRow>(new Criteria("some info here"));
ありがとうございました。あなたの提案は素晴らしいものでした。拡張メソッドのビットが私の目で戯れました。 – jkj2000