私は2つのメソッド(および関連しない他のいくつか)を持つクラスを含むライブラリを持っています:
public T Foo<T>()
{
// Real version does some other things, but this is the gist.
return (T)this.Foo();
}
public object Foo()
{
// Do stuff and return something.
}
ここまでは順調ですね。このライブラリはコンパイルされます。
しかし、電話.Foo<string>()
をかけるとMissingMethodException
. 何が原因でしょうか? すべてが正常にコンパイルされます。
参考までFoo
に、ジェネリックなしはレガシーメソッドです。キャストなどを支援するためにジェネリックバージョンを導入しています。