问题标签 [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.

0 投票
8 回答
11555 浏览

c# - 如何在 ASP.NET MVC Url.Action 中使用 C# nameof()

有没有推荐的方法来使用新的

ASP.NET MVC 中控制器名称的表达式?

对比

显然它不起作用,因为nameof(HomeController)转换为"HomeController"而 MVC 需要的只是"Home"

0 投票
5 回答
11348 浏览

c# - 如何处理 nameof(this) 以报告类名

我想使用以下 C#6 代码

...并获得以下输出:

下面的尝试

失败,因为nameof不能应用于this。是否有解决此问题的方法?

编辑。我正在使用的场景确保没有两个引用指向同一个Self对象。

0 投票
5 回答
15545 浏览

.net - 为什么 nameof 只返回姓氏?

nameof(order.User.Age)只返回Age而不是order.User.Age

以更受限制的方式进行操作的原因是什么?如果我们只想要姓氏,我们可以做类似的事情

使用一个运算符,我们可以同时得到Ageorder.User.Age。但是在当前的实现中,我们只能得到Age. 这个决定背后有什么逻辑吗?例如,这种行为对于 MVC 绑定是必需的

0 投票
2 回答
6452 浏览

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

0 投票
1 回答
3165 浏览

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?

0 投票
5 回答
29760 浏览

c# - .net 框架 4 中的 nameof 表达式

"nameof" 表达式在 Visual Studio 2015 和 c# 6 中引入

nameof(C# 和 Visual Basic 参考)

您如何在.net framework 4 等旧版本中使用它或编写类似的方法。

0 投票
17 回答
189593 浏览

c# - nameof 的目的是什么?

6.0 版有一个新特性nameof,但我不明白它的用途,因为它只是接受变量名并在编译时将其更改为字符串。

我认为它在使用时可能有一些目的,<T>但是当我尝试使用它时,nameof(T)它只会打印我一个T而不是使用的类型。

任何想法的目的?

0 投票
2 回答
7949 浏览

c# - ReSharper 突出显示 nameof 与“显式参数传递给具有调用者信息属性的参数”的使用

我正在使用 nameof 函数将属性名称作为字符串获取,因此:

ReSharper 用警告强调了这一点:

显式参数传递给具有调用者信息属性的参数

该代码有效,我只是想知道上述警告是否是我应该担心的。

0 投票
2 回答
40933 浏览

c# - 如何在 Visual Studio 2015 中更改语言版本

我想nameof在 Visual Studio 2015 的 C# 项目中使用该运算符,但编译器抱怨以下消息。

C# 5 中没有功能“nameof operator”。请使用语言版本 6 或更高版本。

我想知道如何从 Visual Studio 2015 更改 C# 语言版本。

0 投票
2 回答
317 浏览

c# - c# 6.0 nameof() 结果被实习了吗?

从我可以阅读的内容来看,编译器只是发出一个字符串,而没有其他任何事情发生?

是否有任何理由无法对此次通话的结果进行实习?对于一个nameof(MyClass),如果它发生了很多,它可能,理论上是值得的?