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

例如,我有一个用户类,它有一个地址类型的属性,我需要检查地址中的城市。

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

当然,如果我稍后需要更改名称(地址或城市),这会遇到重构问题

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

nameof(Address.City)

它将产生 City Only。

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

我发现引用资料告诉这是可能的,但不是如何。
https://msdn.microsoft.com/en-us/library/dn986596.aspx
在备注部分它说:



但我找不到任何地方告诉我如何做到这一点。

有人可以帮忙吗?
预先感谢您的时间和努力。

更新: 2019 年 10 月

当我再次查找文档时,他们删除了上述语句并将其替换为。

最佳答案

经过一番挖掘,我发现在此处开发此功能时已经讨论了此问题
https://roslyn.codeplex.com/discussions/552376
特别是在这里
https://roslyn.codeplex.com/discussions/552377
对于 MgSam 的评论



答案是



这结束了讨论,没有对另一种方法做进一步的评论。

不幸的是,这意味着无法直接使用 user nameof 并获取完全限定名称以在 Attributes 中使用。

可能这就是它的结束,我认为微软应该更改他们的文档以使其更加清晰和准确。

10-06 05:22
查看更多