最小限のインターフェースがあり、クラスがこのインターフェースを実装するオブジェクトのコレクションを処理します。コレクション(および関連する機能)は、名前以外のこれらのオブジェクトの詳細、XMLに変換する機能、およびXMLからオブジェクトを解析する機能を考慮しません。
インターフェイスの将来の実装は、コレクションの要素でさらに多くのことを行い、明らかに独自のParseメソッドとToXmlメソッドを実装します(これらは、検出されたときにこれらのアイテムを適切に解析するためにコレクションによって使用されます)。
残念ながら、インターフェイスに静的な解析メソッドをリストすることはできません(これらの 3つの 質問を読みました)。Parseメソッドにインスタンスを要求させることは私には意味がありません。インターフェイスのすべての実装に静的なParseメソッドがあることを要求する方法はありますか?
public interface IFoo
{
string Name { get; }
string ToXml();
static IFoo Parse(string xml); // Not allowed - any alternatives?
}