インターフェースのサブクラスにToStringを実装させる 質問する

インターフェースのサブクラスにToStringを実装させる 質問する

たとえば、インターフェースがありIFoo、そのすべてのサブクラスでIFooObject のToStringメソッドをオーバーライドしたいとします。これは可能ですか?

単純にメソッド シグネチャを IFoo に追加しても機能しません。

interface IFoo
{
    String ToString();
}

すべてのサブクラスが拡張されObject、そのように実装を提供するため、コンパイラはそれについてエラーを出力しません。何か提案はありますか?

ベストアンサー1

インターフェースではそれができないと思います。ただし、抽象基本クラスを使用することはできます。

public abstract class Base
{
    public abstract override string ToString(); 
}

おすすめ記事