ご挨拶、
次のように、ファイルから構築できる特定のオブジェクトがあります。
public class ConfigObj
{
public ConfigObj(string loadPath)
{
//load object using .Net's supplied Serialization library
//resulting in a ConfigObj object
ConfigObj deserializedObj = VoodooLoadFunction(loadpath);
//the line below won't compile
this = thisIsMyObj;
}
}
要するに、「わかりました。デシリアライズしたばかりのこのオブジェクトは、実際のオブジェクトです」と言いたいのです。これを行うにはいくつかの方法があり、どれがベストプラクティスと見なされるのか疑問に思っています。私のアイデアは次のとおりです。
- フィールドごとにオブジェクトをコピーする copy-into-me 関数を構築します。これは現在の実装であり、新しいメンバーがオブジェクトに追加されるたびに、それを「copy-into-me」関数に追加することも覚えておく必要があるため、これは恐ろしい考えであると確信しています。これを維持する方法はありません.
- オブジェクトをロードするための事実上のコンストラクターとして機能する ConfigObj クラスの静的メソッドを構築します。これははるかに優れているように聞こえますが、ベストプラクティスとは言えません。
しかし、私はどちらにも完全に満足しているわけではありません。ここで認められているベストプラクティスは何ですか?