Я пытаюсь получить что-то похожее на nameof (property), но включая путь к объекту, которому он принадлежит (и включая объекты более высокого уровня, если они существуют).
Допустим,
public class ClassA(){
public ClassB { get; set;}
public ClassC { get; set;}
public ClassD { get; set;}
}
public ClassB(){
public string PropOfB { get; set; }
}
public ClassC(){
public string PropOfC { get; set; }
}
public ClassD(){
public string PropOfD { get; set; }
public ClassC ClassC { get; set; }
}
У меня есть метод, который возвращает nameof(property)
, но если я наткнусь на (PropOfC)
, мне нужно немного больше, чтобы определить, какой PropOf C я получаю. Я бы хотел, чтобы мой результат был ClassA.ClassD.ClassC.PropOfC
Я просмотрел ответы на: Использование отражения в C# для получения свойств вложенного объекта
Получить значение объекта по строковому пути
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/reflection
но это если у вас есть экземпляр объекта на самом высоком уровне.
Вещи, которые я пробовал (я не могу посмотреть на них в банкомате), возвращают NameSpace.ClassC.PropOfC
, и это не помогает в данной ситуации.
Я делаю это из-за необходимости чтобы показать, где в объекте указанная c prop, которая должна быть проверена, не требует жесткого кодирования ответов.
Я застрял в грязи на этом.