私は次のクラスを持っている:汎用はNullableにできますか?
public class RangeFilter<T> : IFilter<T> where T : IConvertible, IComparable {
public T Maximum { get; private set; }
public T Minimum { get; private set; }
public RangeFilter(T maximum) {
Minimum = null;
Maximum = maximum;
}
}
Tは私が唯一の最大値を渡すと、私は次のことを得ることを行うとき、私はnullにする最小の必要があるが... INT、ダブル、することができエラー:
Cannot convert null to type parameter 'T' because it could be a non-nullable value type.
Consider using 'default(T)' instead.
私はデフォルトを使用したくない理由(T)私は、最小が定義され、デフォルト(T)が最小の有効な値である場合には、後にチェックする必要があるためです。
これは私が私の答えを削除した後に私が向かうところです。 'T'が数値であることを示唆しているので、この問題に関係なく' struct'制約が適切であったと思います。 – spender