一般的な工場パターンのような仕組みを作りようとしています。子孫にパラメータのないコンストラクタを強制することはできますか?
工場は次のようになります:
public class APlugin<ActionType> where ActionType : IAction
{
// create a new action. Note: ActionType should contain
// an empty constructor
public ActionType CreateAction()
{
return Activator.CreateInstance<ActionType>();
}
}
IActionの子孫は、パラメータなしのコンストラクタを隠す可能性があり、これは、工場が失敗します。
あなただけのコンストラクタ、新しいACTIONTYPEを(使用できるように、それを新しい()制約を与えます)。ただし、プラグインのシナリオでは必ずしも有用ではありません。 –
"空のコンストラクタ"と言うと、パラメータを持たないコンストラクタを意味しますか? – Gabe
はい@Gabe。正確には – Odys