たとえば、変更できないさまざまなプロパティを持つデータベースによって生成されたデータ クラスがある状況があります。
public DataClass
{
public string PropertyX {get; set;}
public int PropertyY {get; set;}
public float PropertyZ {get; set;}
}
これらのクラスの中には、20 程度のプロパティを持つものもあります。データを更新すると、「永続」データの「一時」コピーが作成され、次にプロパティが一時データで更新され、一時データから永続データにコピーされます。
1 つのプロパティだけを変更するのはあまり効率的ではありませんが、これは問題ありません。
フラグ付きプロパティのリストを作成したり、更新したい特定のフラグ付きプロパティに属性を追加したりできる方法が c# にあるかどうかを知りたかったのです。
したがって、最終結果は次のようになります(これはすべて疑似であることに注意してください)
DataClass transientObj = new DataClass(Transient);
[FlagPropertyToUpdate] //This is the bit I have no idea how to do
transientObj.propertyX = "updateOnlyMe!";
DataClass persistantObj = new DataClass(Persistant);
UpdateData dataUpdater = new UpdateData(transientObj,persistantObj)
dataUpdater.save();
public UpdateData
{
public void save(){
//some how know to only update propertyX and not all three properties
}
public UpdateData(DataClass trans, DataClass pers)
}
これをどのように行うことができるか(および可能であれば)についての支援をいただければ幸いです。