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

c# - C# 6:getter/setter 中的 nameof() 当前属性

有没有办法在 getter/setter 中获取当前属性的名称?

像这样的东西:

nameof(ThisProperty)应解析为“MyProperty”。

0 投票
1 回答
568 浏览

c# - 使用 ResourceManager 和 nameof 运算符查找文字资源键

我必须访问弱类型的资源文件,这意味着我必须使用传递完整命名空间 + 文件名的 ResourceManager 加载/访问资源。

我以非重构安全方法通过“myImage”访问我的资源图像。

试想一下,我有许多具有不同语言环境/品牌名称的 .resx 文件。它们都有不同的图像,但它们具有相同的键。因此,我无法访问那些静态类型的资源,因为我只知道运行时正确的资源。

但我希望有一种结合 nameof 运算符和资源管理器实例的棘手方法。

有谁知道这个棘手的方法吗?

请不要建议以静态类型的方式访问任何这些 .resx 文件,并将带有 nameof 的密钥传递给上述 .GetString() 方法。

如果 nameof 运算符没有解决方案,那么欢迎使用任何工具;-)

0 投票
1 回答
15848 浏览

javascript - 获取变量的名称(如 C# 中的 nameof 运算符)

假设我们有以下代码:

我想知道变量的名称,而不仅仅是它的值,并将它放在一个字符串中或记录它,或者:

我想看到的结果是这样的:

期待看到您的解决方案。

0 投票
1 回答
7270 浏览

c# - nameof 操作符有什么方法可以访问方法参数(在同一方法之外)?

采用以下类和方法:

所以得到“创造”是显而易见的:nameof(Foo.Create)

除了使用反射在运行时读取参数之外,还有什么方法可以获得“bar”?

0 投票
3 回答
293 浏览

.net - 将 NameOf 与变量一起使用

为什么以下任何一个都不能编译:

这个表达式没有名字。

如何获取传递的值类型的字符串名称?ToString()可能超载,所以不能使用。

0 投票
2 回答
4648 浏览

c# - 获取参数的调用变量名

关于从调用方法获取参数名称和查找传递给 C# 中的函数的变量名称的问题,我仍在寻找一种方法来定义WhatDoesTheAnimalSay_WANTED方法:我想知道用作的变量的名称一个参数:

在现实生活中,我在使用自定义和方法IXmlSerializable在我的类中实现接口时需要这个。reader.Read...writer.Write....

因此,不幸的是,我无法引入新的包装类、接口或更改动物名称或它所说的内容的保存位置。这意味着它必须与类以及纯字符串、int、decimal、...变量、字段或属性一起使用。换句话说(不是粗鲁的方式):不要改变动物的定义方式,只需改变WhatDoesTheAnimalSay_WANTED方法......

编辑:

因为你们中的一些人想知道这个例子的真实用例,我在这里给你们一个想法,我如何在 xml 文件中存储和读取数据。真正的 Database 对象当然要大得多,并且所有子类(如FitterIXmlSerializable也使用相同的扩展方法实现接口。

0 投票
5 回答
201 浏览

c# - 获取参数方法的名称

我有一个带有大量参数的方法。其中一些是可选的。因此,为了轻松使用此方法,我使用了可选参数功能。

Dictionary<string,string>此外,此方法仅针对非空参数构建一个以参数名称作为字典键、参数值作为字典值的方法。

这是方法:

可以使用命名参数调用:

如您所见,该方法有点冗长。我想知道是否有更简洁的写法(无需反思)

谢谢 !

编辑

谢谢您的回答但是,我的问题并不清楚。只是一个精度:

  • 我的真实方法中的参数名称不是 param1、param2 等,而是更多的业务名称,如 id、firstName、lastName、address1 = null。像这样当我们使用这种方法时,更容易知道哪个参数是强制性的。在此之前,我使用了 params string[],但是当我使用它时,我无法获得参数的名称。

希望我的解释现在更清楚。

0 投票
2 回答
120 浏览

c# - 我应该提供一个带有 nameof 成员名称的方法,还是应该依靠 CallerMemberName 为我做这件事?

CallerMemberName是如何实现的?

我明白了它的作用——它允许我们将魔法字符串排除在代码之外——但它应该被过度使用nameof吗?什么更高效?

有什么区别/CallerMemberName 究竟是如何工作的?

0 投票
1 回答
174 浏览

c# - 拒绝使用 nameof 作为方法的参数

我有这个 C# 函数:

该函数将属性名称存储在数据库中以供进一步使用。

我想阻止此方法的用户nameof(MyProperty)用作参数,以防止用户在更高版本中重命名属性时可能发生的情况。

是否可以指定一个不允许nameof作为参数调用的方法?

0 投票
4 回答
19300 浏览

c# - Using nameof to get name of current method

Have browsed, searched and hoped but cannot find a straight answer.

Is there anyway in C# 6.0 to get the current method name using nameof withouth specifying the method name?

I am adding my test results to a dictionary like this:

I would prefer if I would not have to specify the method name explicitly so I can copy+paste the line, a non-working example:

If possible I do not want to use Reflection.

UPDATE

This is not (as suggested) a duplicate of this question. I am asking if is explicitly possible to make use of nameof without(!) reflection to get the current method name.