问题标签 [nameof]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 如何在 ASP.NET MVC Url.Action 中使用 C# nameof()
有没有推荐的方法来使用新的
ASP.NET MVC 中控制器名称的表达式?
对比
显然它不起作用,因为nameof(HomeController)转换为"HomeController"而 MVC 需要的只是"Home"。
c# - 如何处理 nameof(this) 以报告类名
我想使用以下 C#6 代码
...并获得以下输出:
乔
下面的尝试
失败,因为nameof
不能应用于this
。是否有解决此问题的方法?
编辑。我正在使用的场景确保没有两个引用指向同一个Self
对象。
.net - 为什么 nameof 只返回姓氏?
nameof(order.User.Age)
只返回Age
而不是order.User.Age
以更受限制的方式进行操作的原因是什么?如果我们只想要姓氏,我们可以做类似的事情
使用一个运算符,我们可以同时得到Age
和order.User.Age
。但是在当前的实现中,我们只能得到Age
. 这个决定背后有什么逻辑吗?例如,这种行为对于 MVC 绑定是必需的
c# - 使用 nameof 运算符而不是 CallerMemberNameAttribute 来通知 .NET 4.5.3 中的属性更改有什么好处吗?
随着 .NET 4.5.3 的出现,WPF 开发人员现在有三种(或更多)方法来通知INotifyPropertyChanged
接口属性更改。基本上,我的问题是从 .NET 4.5 开始引入的两种方法中的哪一种是通知属性更改的更有效方法,以及在 WPF 中使用这两种方法是否有任何好处?
背景
对于那些不太熟悉这个主题的人,这里是主要的三种方法。第一个是简单地传递字符串的原始的、更容易出错的方法:
第二种方法是在 .NET 4.5 中引入的;CallerMemberNameAttribute
:_
第三种也是最新的方法已(或即将)作为 .NET 4.5.3 的一部分在 C#6.0 中引入;nameof
运营商:
我自己的假设是,简单地传递字符串的原始、更容易出错的方法将是最有效的,因为我只能想象其他两种方法使用某种形式的反射。但是,我真的很想知道其他两种方法中哪一种更有效,以及在 WPF 上下文中使用CallerMemberNameAttribute
属性和运算符之间是否真的有任何区别。nameof
c# - Is it possible to use an nameof expression in switch statement?
The new C# 6.0 nameof
is great in the PropertyChanged
pattern for propagating property changes using something like:
When listening of property changes I use this (yes, even with ugly hardcoded strings):
With the new nameof expressions would this code compile / work?
c# - .net 框架 4 中的 nameof 表达式
"nameof" 表达式在 Visual Studio 2015 和 c# 6 中引入
您如何在.net framework 4 等旧版本中使用它或编写类似的方法。
c# - nameof 的目的是什么?
6.0 版有一个新特性nameof
,但我不明白它的用途,因为它只是接受变量名并在编译时将其更改为字符串。
我认为它在使用时可能有一些目的,<T>
但是当我尝试使用它时,nameof(T)
它只会打印我一个T
而不是使用的类型。
任何想法的目的?
c# - ReSharper 突出显示 nameof 与“显式参数传递给具有调用者信息属性的参数”的使用
我正在使用 nameof 函数将属性名称作为字符串获取,因此:
ReSharper 用警告强调了这一点:
显式参数传递给具有调用者信息属性的参数
该代码有效,我只是想知道上述警告是否是我应该担心的。
c# - 如何在 Visual Studio 2015 中更改语言版本
我想nameof
在 Visual Studio 2015 的 C# 项目中使用该运算符,但编译器抱怨以下消息。
C# 5 中没有功能“nameof operator”。请使用语言版本 6 或更高版本。
我想知道如何从 Visual Studio 2015 更改 C# 语言版本。
c# - c# 6.0 nameof() 结果被实习了吗?
从我可以阅读的内容来看,编译器只是发出一个字符串,而没有其他任何事情发生?
是否有任何理由无法对此次通话的结果进行实习?对于一个nameof(MyClass)
,如果它发生了很多,它可能,理论上是值得的?