私は次のように宣言されたクラスを持っています:
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;
}
}