Вот класс
public class AmountData
{
public int Id{ get; set; }
public decimal Amount { get; set; }
public SentAmount SentAmount{ get; set; }
}
public class SentAmount
{
public decimal SentAmount { get; set; }
}
public class CreditAmount
{
public int Id { get; set; }
public string Timestamp { get; set; }
public DateTime ReceivedTime { get; set; };
public byte[] RowVersion { get; set; }
public bool IsActive { get; set; }
public AmountData Credit { get; set; }
public AmountData Debit { get; set; }
public DateTime CreatedDate { get; set; }
}
Мне нужно имя всех свойств, введите оба значения: CreditAmount, AmountData, SentAmount, но для этого я могу использовать только родительский класс (CreditAmount).
Я пробовал это с помощью рекурсивного метода, но не удается
private List<Type> allTypes = new List<Type>();
public void GetProperties(Type type)
{
foreach (var p in type.GetProperties())
{
allTypes.Add(p.PropertyType);
foreach(var q in p.PropertyType.GetProperties())
{
GetProperties(q.PropertyType);
}
}
}