これは詐欺ではないとは想像もできませんが、それ以前に一致する質問は見つからないようです。genericのメソッドをgenericメソッドから呼び出すときは、where節でキャストが必要です。
私はそれのターンにこの一般的な方法に
public T GetSetting<T>(Guid userId) where T : ISetting, new()
を持っているが、一般的な方法
public static ISetting CreateSetting<T>(IDictionary<string, object> data) where T:ISetting, new()
を呼び出すTの署名が全く同じで、まだコンパイラは値をキャストするために私を必要としように:
return (T) BaseSetting.CreateSetting<T>(data);
私は何か間違っている、またはこれだけですフレームワークの制限?
正解:)ありがとう –