首页 > 解决方案 > 是否有内置方法或智能方法可以在 C# 中获取对象的路径?

问题描述

我试图获得类似于 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),我需要更多的时间来确定我要返回哪个 PropOfC。我希望我的结果是ClassA.ClassD.ClassC.PropOfC

我查看了以下问题的答案: 在 C# 中使用反射来获取嵌套对象的属性

通过字符串路径获取对象值

https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/reflection

但这些是如果您在最高级别拥有对象实例。

我尝试过的东西(我无法在 atm 中查看它们)全部返回NameSpace.ClassC.PropOfC,这对这种情况没有帮助。

我这样做是因为需要显示对象中需要审查的特定道具的位置,而不必对响应进行硬编码。

我陷入了困境。

标签: c#.net-core-3.1

解决方案


推荐阅读