次のようなカスタム クラス構造があります。
public interface Stuff { }
public Thing : Stuff
{
public new String ToString() { return "That's the thing!"; }
}
次に、コードの他の部分に、Stringオブジェクトをパラメーターとして受け取るメソッドがあります。最初の行はコンパイルされますが、2 番目の行はコンパイルされません。オブジェクトを送信するときにToStringがデフォルトで呼び出されると思いました。また、 Objectクラスから継承されるStuffには、 ToStringが既に実装されている必要があります (また、私の場合は、実装によってシャドウされます)。
Thing thing = new Thing();
MustHaveString(thing.ToString());
MustHaveString(thing);
何が恋しいですか?