私はあなたが達成したいと思っていたことを少しはスケッチしました。私はあなたがClassAで始まり、最終的にプロパティを歩き、ClassCに行きたいと思う。これを行うには、主に再帰的プログラミングを行う方法と、Reflectionの知識を少量理解する必要があります。ここでは、私が過去に使ったコードの修正版です。これはfind hereです。これは何
private void SerializeObject(object obj) {
Type type = obj.GetType();
foreach (PropertyInfo info2 in type.GetProperties(BindingFlags.GetProperty | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance))
{
MethodInfo getMethod = info2.GetGetMethod(true);
if (getMethod != null)
SerializeObject(getMethod.Invoke(obj, null));
}
}
各プロパティを介して歩いていると、プロパティを実行し、あなたが同じSerializeObject
メソッドを呼び出すことによって、それを介して歩くことができるように返されるオブジェクトを取得するには、各プロパティのgetメソッドを使用しています。