抽象メソッドを持つabstructクラスを持っていますが、メソッドparamは汎用です。C#抽象メソッドで汎用タイプを設定する
これはのparam型宣言です:
public class StepHandlerWrapper<T> where T : BaseStepDataModel{...}
これは親抽象的です:これは実際に問題である
、私はStepHandlerWrapperジェネリック型は、各implementaionにダイナミックになりたい:
public abstract class BaseStepHandler{
protected abstract HandlerResult Handle(StepHandlerWrapper<???????????????>);
}
これらは2つの実装ですそれぞれの汎用タイプに注意してください(別の):
public class LoginHandler : BaseStepHandler {
protected override HandlerResult Handle(StepHandlerWrapper<LoginStepOneDataModel> wrapper){...}
}
public class RegularDemoAccountHandler : BaseStepHandler{
protected override HandlerResult Handle(StepHandlerWrapper<RegularDemoAccountStepOneDataModel> wrapper){...}
}
抽象メソッドの各実装をどのように異ならせるのですか?
のDataModelは実際にありますちょうど "マーカー"。私は各実装に異なるタイプを持たせたい(これはキャストを避けるのに役立つだろう)。 – SexyMF