次の 2 つのクラスを想像してください。
class A
{
public A()
{
}
}
class B : A
{
public B()
{
}
}
クラス B にパラメーターなしのコンストラクターを強制する方法で、A または代わりにインターフェイスを定義することは可能ですか? または、より一般化すると、特定の署名で型 B のインスタンスを作成できるコンストラクター (または静的メソッド) でしょうか?
クラス B をその署名を使用してのみ構築できるように制限したくはありませんが、クラス B がこの署名で構築できることを確認したいと思います(パラメーターなしでも、特定のパラメーターを指定しても)。
明確にするために:私は実行時にリフレクションやその他の方法を使用してそれを把握する必要がある解決策を探しているわけではありません(問題はありませんが、コードが読みにくくなり、一般的にこの場合は悪い考えのようです)。
これを達成する方法はありますか?
ここで達成しようとしていることについて、より詳細なブログ記事を書きました。