私は linq を使用して 2 つの同様のオブジェクトをマップしていますが、サブクラスがマップされず、GetProperties() でそれらが表示されないという問題があります。サブクラスはパブリックとしてマークされているため、このコードが機能しない理由が少しわかりません...他のメソッドの使用に関するアイデアや提案。事前にご協力いただきありがとうございます。
foreach (PropertyInfo pInfo in _WorkRequest.GetType().GetProperties())
{
_WorkRequestV1.GetType().GetProperty(pInfo.Name).SetValue(_WorkRequestV1, pInfo.GetValue(_WorkRequest, null), null);
}
アップデート
これを調べた後、クラス ex 内でサブクラスを宣言するときに次のことに気付きました。
public Person myPerson;
GetProperties() はPerson クラスを認識しませんが、追加すると
public Person myPerson {get;set;}
GetProperties()はmyPerson を認識します
最後に付け加えると
public Person myPerson = new Person()
GetProperties() は人を認識しません。
なぜ {get;set} が必要なのですか?