■仕様
左側のリストボックスにあるタスクを選択すると、
右側にあるグリッドにタスク詳細を表示します。
詳細表示にはPropertyGridというコントロールを使っています。
これが簡単で超便利でした。
■その他
・タスク一覧に同じ名前のタスクがある場合、
まとめて削除されてしまうバグを直しました。
タスクIDをキーに削除するようにしました。
・タスクIDの型をクラスにしました。
今まではintで持っていたのをTaskIDというクラスにしました。
これは、値オブジェクトという物と考えています。
(本で読んでまだ完全に理解していませんが。)
■コード
特に特別なコードはないので記載しませんが、
TaskIDクラスというかレコードはこんな感じです。
TaskID.cs
public record TaskID
{
const int InvalidId = -1;
public int ID { get; set; }
// これは、データが無いとか不正な場合にnullとせず、この値を返す事でnullチェック不要になります。
// 最近覚えました。
public static TaskID Invalid = new(InvalidId);
public TaskID() { }
public TaskID(int id)
{
ID = id;
}
// NumericUpDownで使うのでDecimalに変換します。
public decimal ToDecimal()
{
return Convert.ToDecimal(ID);
}
// これがないと、PropertyGridでTaskID表示した時に数値が表示されません。
public override string ToString()
{
return ID.ToString();
}
}