c# - 是否有内置方法或智能方法可以在 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
,这对这种情况没有帮助。
我这样做是因为需要显示对象中需要审查的特定道具的位置,而不必对响应进行硬编码。
我陷入了困境。
解决方案
推荐阅读
- android - 当 minifyEnabled 为 true 时,生成签名的 APK 构建将永远运行
- javascript - 如何使用跟踪字符串修改嵌套的 json 位置
- reactjs - React with Asp.net Core Target 容器不是 DOM 元素
- java - 更新 Oomph setup 安装的 Eclipse 的 JDK 路径
- r - 要替换的项目数错误不是替换长度的倍数
- angularjs - 将数组从 Angular js 传递到 Web API = null
- javascript - 数据表 Datepicker 动态计算
- python - 调用存储在不同 .py 文件中的多个函数(名称以数字开头)
- ios - 更新后的错误:...异常'NSGenericException',原因:'此编码器要求从initWithCoder返回替换的对象:'
- vue.js - 将 vue-auth-image 插件集成到 Nuxt.js