私はVSを使用してC#でデータベースアプリケーションを開発しています。私はクルーと呼ばれるクラスを持っていて、その名前、生年月日などのフィールドを持っています。フィールドのいくつかを指定する必要がありますが、アプリケーション自体によって自動的に計算されます。生年月日から計算される年齢など。ここで私は、このやっている方法です:デバッグ中クラスのプロパティを定義する際の例外
[Required]
[DisplayName("Date of Birth")]
public DateTime DOB
{
set { }
get { return DOB.Date; }
}
public int Age
{
get { return Convert.ToInt32(DateTime.Now.Year) - Convert.ToInt32(DOB.Year); }
}
を、私は人のためのフィールドを記入し、データベースに保存するためのボタンを作成打つが、例外は、次のことを言って生じ:
System.StackOverflowExceptionが発生しました HResult = 0x800703E9メッセージ= 'System.StackOverflowException'タイプの例外がスローされました。
私はクラスの外から値を格納する必要があります:あなたは値を格納
private
バッキングフィールドを持つことでこれを回避することができ、その後、プロパティのゲッターであることへのアクセスユーザー。 –OPの質問に基づいて、それは 'get {return _dob.Date; } ' –
@StephenMuecke、プライベートの場合はどうすれば_dobを割り当てることができますか? –