たとえば、とあるフィールドを変更するとフラグが立つといった処理系ではこういったやり方もあるというのに今日気づきました。いやー頭が固くなってますねぇ。コード例はこんなかんじ
public class DataClass
{
private bool udate = false;
/// <summary>
/// 更新フラグ
/// </summary>
public bool IsUpdate
{
get { return udate; }
}
private int intData = 0;
/// <summary>
/// 数値のプロパティ
/// </summary>
public int IntData
{
get { return intData; }
set { intData = value; udate = true; }
}
private String strData = String.Empty;
/// <summary>
/// 文字列のプロパティ
/// </summary>
public String StrData
{
get { return strData; }
set { strData = value; udate = true; }
}
/// <summary>
/// コンストラクタ
/// </summary>
public DataClass()
{
}
/// <summary>
/// コピーコンストラクタ
/// </summary>
/// <param name="src">コピー元</param>
public DataClass(DataClass src)
{
intData = src.intData;
strData = src.strData;
udate = src.udate;
}
}
{
private bool udate = false;
/// <summary>
/// 更新フラグ
/// </summary>
public bool IsUpdate
{
get { return udate; }
}
private int intData = 0;
/// <summary>
/// 数値のプロパティ
/// </summary>
public int IntData
{
get { return intData; }
set { intData = value; udate = true; }
}
private String strData = String.Empty;
/// <summary>
/// 文字列のプロパティ
/// </summary>
public String StrData
{
get { return strData; }
set { strData = value; udate = true; }
}
/// <summary>
/// コンストラクタ
/// </summary>
public DataClass()
{
}
/// <summary>
/// コピーコンストラクタ
/// </summary>
/// <param name="src">コピー元</param>
public DataClass(DataClass src)
{
intData = src.intData;
strData = src.strData;
udate = src.udate;
}
}
0 件のコメント:
コメントを投稿