131

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

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

正しいメソッド( Parse(string s))に到達し、例外がスローされないようにするために、メソッド呼び出しをより具体的にするにはどうすればよいですか。

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

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

1 に答える 1

218

このオーバーロードを使用して使用する

returnType.GetMethod("Parse", new [] {typeof(string)})
于 2009-12-28T13:16:22.213 に答える