我有这样声明的类:
internal private abstract class BoxGroup<TS> : IBoxGroup where TS : SavedState
在那个类中,我有这个方法:
protected virtual TS saveState() {
return new SavedState(Width, Height);
}
我认为这是正确的,但我在 return 声明下看到红线,Resharper 说new SavedState(Width, Height)
不能转换为TS
. 我不知道为什么。我认为这TS
可以是任何扩展的类,SavedState
也可以是SavedState
它本身。我能做些什么来纠正它?
类保存状态非常简单,如下所示:
private class SavedState {
internal float Width { get; private set; }
internal float Height { get; private set; }
public SavedState(float width, float height) {
Width = width;
Height = height;
}
}