我有这个类定义:
public abstract class AbstractListViewModel<T> : AbstractWorkspaceViewModel
所以我有一个名为 AbstractListViewModel
的类,它有一个泛型类型,它是 AbstractWorkspaceViewModel
的子类。
但是,我需要将T
限制为仅是AbstractWorkspaceViewModel
的子类。我尝试了以下方法:
public abstract class AbstractListViewModel<T> where T :
AbstractWorkspaceViewModel, : AbstractWorkspaceViewModel
public abstract class AbstractListViewModel<T> where T :
AbstractWorkspaceViewModel : AbstractWorkspaceViewModel
但是此语法无效。
所以在这里我试图说"一个名为AbstractListViewModel
的类,它是AbstractWorkspaceViewModel
的子类,并且具有泛型类型,也是AbstractWorkspaceViewModel
的子类。
我该如何定义?
这是约束的顺序。试试这个:
public abstract class AbstractListViewModel<T> : AbstractWorkspaceViewModel
where T : AbstractWorkspaceViewModel
你想要这个:
public abstract class AbstractListViewModel<T> : AbstractWorkspaceViewModel
where T : AbstractWorkspaceViewModel
public abstract class AbstractListViewModel<T> : AbstractWorkspaceViewModel where T : AbstractWorkspaceViewModel