我正在尝试使用 nameof 向 ModelState 添加错误:
@Html.ValidationMessageFor(m => m.Foo.Bar)
在 View 中,这已被标记为 Foo.Bar
的 name
。
当我添加模型状态错误时,我必须将该错误键入 name
,因此我使用 nameof(Foo.Bar)
- 然而这只是给了我Bar
,当我需要 Foo.Bar
时。现在我可以对 Foo.Bar
进行硬编码,但我宁愿使用强类型方法。我有哪些选择?
最佳答案
没有内置方法可以做到这一点,但有一些解决方法。
您可以自己连接命名空间的名称(没有运行时损失,但难以维护):
String qualifiedName = String.Format("{0}.{1}", nameof(Foo), nameof(Bar));
另一种选择是使用反射器直接获取完全限定名称(更简单,但有一些运行时损失):
String qualifiedName = typeof(Foo.Bar).FullName;
希望这对您有所帮助。
关于c# - 使用 nameof() 与其父类一起检查类名以进行 MVC 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40626477/