1

私はこのクラス定義を持っています:

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ます。

これをどのように定義しますか?

4

3 に答える 3

6

それはあなたの制約の順序です。これを試して:

public abstract class AbstractListViewModel<T>  : AbstractWorkspaceViewModel
    where T : AbstractWorkspaceViewModel
于 2012-04-25T12:40:11.373 に答える
3

あなたはこれを求めている:

public abstract class AbstractListViewModel<T> : AbstractWorkspaceViewModel
    where T : AbstractWorkspaceViewModel
于 2012-04-25T12:40:01.030 に答える
2
public abstract class AbstractListViewModel<T> : AbstractWorkspaceViewModel where T : AbstractWorkspaceViewModel
于 2012-04-25T12:41:26.367 に答える