指定受约束的泛型类是子类?

时间:2012-04-25 12:37:07

标签: c#

我有这个类定义:

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的子类。

我该如何定义?

3 个答案:

答案 0 :(得分:6)

这是约束的排序。试试这个:

public abstract class AbstractListViewModel<T>  : AbstractWorkspaceViewModel
    where T : AbstractWorkspaceViewModel

答案 1 :(得分:3)

你想要这个:

public abstract class AbstractListViewModel<T> : AbstractWorkspaceViewModel
    where T : AbstractWorkspaceViewModel

答案 2 :(得分:2)

public abstract class AbstractListViewModel<T> : AbstractWorkspaceViewModel where T : AbstractWorkspaceViewModel
相关问题