我有一个抽象类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 具有相同类型的实例,但我需要允许其他类型。
一个 AddOrderitem 命令:
public class AddOrderitemCommand : CommandBase<AddOrderitemResult, AddOrderitemCommand>
{
(...)
}
可能包含一个 WebserviceCommand:
public class GetMenuCommand : CommandBase<GetMenuResult,GetMenuCommand>
{
(...)
}
请告知允许这样做的语法。