データフォームを作成し、RAM のように使用しています。データを表示することはなく、アクセスするためにそこに保存するだけです。
誰かがあなたの仕事を引き継がなければならない場合(あなたが会社を辞めたり、亡くなったりするなど)、彼らはあなたをとても嫌うでしょう.
より良い手法は、このデータをすべて格納するクラスを作成することです。
良い点は、既にデータ フォームがあるため、すべてがどのように構成されているかを既に知っていることです。
次に、データに関するその知識を使用して、読み書きできるクラスを作成します。
類似したアイテムのグループがある場合は、メイン クラスに含まれる他のクラスを作成します。
これらの類似したアイテムが複数ある場合は、これらのアイテムの公開リストを作成してください。
必要に応じて、非常にシンプルまたは複雑にします。
これらのクラスはすべて変更するのに十分な汎用性がありますが、いくつかのエクストラを追加する必要があり、実証する必要があります。
public class DataForm {
private GroupedItem m_item2;
public event EventHandler Item2Changed;
public DataForm() { // this is your constructor
Item1 = new GroupedItem();
Item2 = new GroupedItem();
ItemCollection = new GroupCollectionItems("Group1");
}
public float Value1 { get; set; }
public float Value2 { get; set; }
public GroupedItem Item1 { get; set; }
public GroupedItem Item2 {
get { return m_item2; }
set {
if (m_item2 != value) {
m_item2 = value;
if (Item2Changed != null) {
Item2Changed(this, EventArgs.Empty); // notify whoever is listening for the change
}
}
}
}
public GroupCollectionItems ItemCollection { get; set; }
}
public class GroupedItem {
public GroupedItem() { // this is your constructor
}
public string Name { get; set; }
public object Value { get; set; }
}
public class GroupCollectionItem {
private GroupCollectionItem() { // this is your constructor
}
public static GroupCollectionItem Create(string groupName, string itemName, object itemValue) {
var item = new GroupCollectionItem() {
Group = groupName,
Name = itemName,
Value = itemValue
};
return item;
}
public string Group { get; private set; }
public string Name { get; private set; }
public object Value { get; set; }
}
public class GroupCollectionItems : List<GroupCollectionItem> {
public GroupCollectionItems(string name) { // this is your constructor
Name = name;
}
public string Name { get; private set; }
}