问题标签 [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 投票
1 回答
98 浏览

c# - 如何使用方法在 C# Win Forms 应用程序中获取字符串参数的名称?

由于某些原因,我想在我的 C# Win Forms 应用程序中获取一些变量的名称。我使用了以下代码

Textbox1 得到了我想要的确切结果

我的名字=我的价值

但是,当在方法中使用相同的代码时,我得到了不同的结果

我的参数=我的值

我希望能够在 Textbox1 中获得结果,但使用一种方法

0 投票
1 回答
83 浏览

c# - 为什么 nameof 对同义词不起作用?

这个问题中,我了解到nameof()C# 6.0 中引入的运算符不适用于同义词。所以你可以写nameof(System.Object)但不能nameof(object)

现在,还有另外 2 个类似的运算符,typeof()default(),它们在同义词上完美地工作。你可以写:

也:

结果是一样的。

我猜想也可以构建nameof()操作符以使用同义词进行操作。

所以问题是:为什么它没有实现与object, string,int等一起使用?我的猜测错了吗(即不可能实现)?或者这是一个设计选择?

0 投票
2 回答
94 浏览

c# - Xamarin.Forms - Label.TextProperty.PropertyName 和 nameof(myLabel.Text) 之间的区别

除了语法之外,以下之间是否有任何区别:

?

0 投票
1 回答
31 浏览

c# - Xamarin.Forms - Button.TextProperty.PropertyName 和 nameof(myButton.Text) 之间的区别

除了语法之外,以下之间是否有任何区别:

除了个人偏好之外,是否出于其他任何原因偏好其中一个?

0 投票
1 回答
36 浏览

c# - 返回 func<> 委托的具体实现的名称

tl;博士版本:nameof(ToCelsius)返回ToCelsius。不过,我想要一些返回底层函数名称的东西ToCelsiusByA

因此,我ToCelsius被分配了一个具体的实现:

然后我调用该ToCelsius函数:

我想ToCelsiusByA返回已实现函数 ( ) 的名称,所以我正在尝试这个:

但是,当然,这会在字符串中显示“ToCelsuis”。

0 投票
2 回答
1296 浏览

c# - 获取foreach中元素引用的名称

我试图让nameofa 变量通过foreach循环传递。

而不是得到想要的结果

我显然只是:

这是不允许的吗?更好的方法?

0 投票
3 回答
488 浏览

c# - 带铸造的名称

我想使用 nameof 来获取属性的名称。

以下工作:

但这不起作用:

编译错误:

顺便说一句,这也不起作用:

有人可以解释这个铸造+名称问题吗?

0 投票
2 回答
1147 浏览

swift - 是否有与 C# 的“nameof()”函数等效的 Swift 函数来在编译时获取变量或成员的名称?

好的,这里有一个关于 S/O 的问题,标题如下:

Swift:以字符串形式获取变量实际名称

从它的名字来看,这似乎正是我想要的。但是,查看已接受的答案(以及其他未接受的答案),他们指的是关键路径操作,这不是我所追求的。(即这不是重复的!)

就我而言,我希望将一个变量的名称存储在字符串类型的第二个变量中。

在 C# 中,这很简单nameof,就像这样......

注意:nameof()在编译时执行,而不是在运行时执行,因此不需要反射或其他任何东西。编译器只是简单地替换变量的名称,就好像有人手动将其名称键入为字符串常量一样。

例如,当您想要定义一个查询对象时,您的成员名称与 URL 中传递的查询参数相匹配,这非常方便。

这是一个伪代码示例(即,这显然不会编译,但显示了我所追求的。)

另外,请不要专注于 URL 方面。这绝对是*糟糕的代码*。在实际代码中,我会使用URLComponents,而不是像我在这里做的那样对 URL 进行字符串附加。同样,这*仅*说明了我的问题,而不是构建 URL。

以下是你如何使用它以及它会返回什么:

返回值将是:

访问变量的字符串表示而不是使用字符串常量的优点有很多:

  1. 没有硬编码的字符串。
  2. 您可以像往常一样使用符号的重构/重命名和生成的字符串跟踪
  3. 允许您使 API 和实现保持同步,这有助于提高可读性。

例如,假设 API 将查询参数从 更改userNameuserId,只需重构变量名称,输出就会相应更新,而无需手动触摸任何字符串。

那么,这可以在 Swift 中完成吗?你能得到实际的变量名并将其存储在第二个变量中吗?

0 投票
2 回答
49 浏览

c# - 将具有原始名称的主要方法数组传递给另一个方法

所以我编写了一个简单的代码,将两个不同的数组传递给一个方法,以检查异常。但是有一个问题——当我传递数组时,如果缓存了一个异常,在我的异常“nameof”部分,它并没有说明哪个数组是那个数组,是什么导致了异常。我需要纠正这一点。那么你有什么想法,我怎么能在我的代码中做到这一点?

0 投票
1 回答
106 浏览

c# - 为什么这个表达式有效?(C# 6.0)

nameof(ServiceResult<object>.Result)ServiceResult<object>我的自定义类型在哪里,是Result这种类型的字段。ServiceResult<object>只是类型的声明,它没有运算符 new 和 (),但 MS 的官方页面说nameof接受变量及其成员。为什么这个表达有效?我以前没有看到这样的声明。