CommandBase<T, X>
プロパティを持ちたい抽象クラスがありますInnerCommand
。
しかし、InnerCommand
それを含むコマンド以外の T と X の型を持つ可能性があるため、どのように定義すればよいでしょうか?
抽象クラス:
public abstract class CommandBase<T, X>
where T : CommandResultBase
where X : CommandBase<T, X>
{
public CommandBase<T, X> InnerCommand { get; set; }
(...)
}
上記の例InnerCommand
では、T と X の同じ型を持つインスタンスのみを受け入れますが、他の型を許可する必要があります。
AddOrderitemCommand:
public class AddOrderitemCommand : CommandBase<AddOrderitemResult, AddOrderitemCommand>
{
(...)
}
WebserviceCommand が含まれる場合があります。
public class GetMenuCommand : CommandBase<GetMenuResult,GetMenuCommand>
{
(...)
}
これを許可するための構文についてアドバイスしてください。