小编Ahm*_*hwa的帖子

如何使用nameof获取C#属性中的类中的属性的完全限定名称?

我在ASP.Net MVC项目中使用Foolproof库,在某些情况下,我需要使用属性检查模型成员类中的属性。

例如,我有一个用户类,其属性类型为Address,我需要检查Address中的City。

在我的示例中,属性需要以点符号表示属性名称,您可以说“ Address.City”。

当然,如果以后我需要更改任何一个名称(地址或城市),这将遇到重构问题

我需要为此使用nameof,当然,如果我这样使用它,则当然要使用它:

nameof(Address.City) 
Run Code Online (Sandbox Code Playgroud)

它只会产生City。

我需要nameof,因为它会产生属性中允许的常量值。

我发现参考资料告诉我们有可能,但没有。 https://msdn.microsoft.com/zh-cn/library/dn986596.aspx 在备注部分中说:

如果需要获取全限定名称,则可以将typeof表达式与nameof一起使用。

但是我找不到任何地方可以告诉你如何做。

有人可以帮忙吗?在此先感谢您的时间和精力。

更新:十月-2019

当我再次查阅文档时,他们删除了上面的声明,并将其替换为。

如前面的示例所示,在类型和名称空间的情况下,产生的名称通常不完全合格。

c# asp.net asp.net-mvc attributes

4
推荐指数
2
解决办法
2897
查看次数

标签 统计

asp.net ×1

asp.net-mvc ×1

attributes ×1

c# ×1