Есть ли встроенный метод или умный способ получить путь к объекту в C#? - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь получить что-то похожее на 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, которая должна быть проверена, не требует жесткого кодирования ответов.

Я застрял в грязи на этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...