web-dev-qa-db-ja.com

あいまいな一致例外の回避

コンパイル時にオブジェクトの型がわからないため、リフレクションを介して型で静的メソッドParseを呼び出しています(ただし、Parse =メソッド、文字列を取得)。

しかし、多くのオーバーロードされたParseメソッドがそれぞれ単一のオブジェクト(string、int、doubleなど)を取るため、あいまいな一致例外が発生します。

メソッド呼び出しをより具体的にして、正しいメソッド(Parse(string s))に到達し、例外がスローされないようにする方法を教えてください。

私のコードは次のようになります。

Type returnType = p.PropertyType;
object value = returnType.GetMethod("Parse").Invoke(null, new string[] { "1" });
101
Ben

this オーバーロードを使用して使用

returnType.GetMethod("Parse", new [] {typeof(string)})
173