次のような多くのプロパティを含むクラスがあります。
public class Update
{
public int Quantity { get; set; }
public decimal Price { get; set; }
public string Name { get; set; }
}
の各インスタンスにUpdate
は必ずしも各プロパティが設定されているとは限らず、システムの別の部分は、どれが設定されていてどれが設定されていないかを知る必要があります。
私が持っている 1 つのオプションは、すべての値の型を作成することです。Nullable
そのため、null
値は設定されていないという概念を表します。これは機能しますが、いくつかのプロパティNullable
(値の型) を明示的に持つという考えと、参照型であるという理由で null を許容するという考えはあまり好きではありません。クラス定義は見苦しくなり、ヌル チェックが意味的に最適な方法であるとは思えません。
Nullable<T>
プロパティに制約のない、T
非常によく似たクラスを作成できますIsSet
。私は を使用するよりもこのオプションを好みますNullable
が、私が提案したオプションよりも優れた代替表現を誰かが持っているかどうかを知りたいです。