nameof 运算符有什么方法可以访问方法参数(在同一方法之外)?
Is there any way for the nameof operator to access method parameters (outside of the same method)?
采取以下class和方法:
public class Foo
public Foo Create(string bar) {
return new Foo(bar);
}
所以得到 "Create" 是显而易见的:nameof(Foo.Create)
除了在运行时使用反射读取参数外,还有什么方法可以得到"bar"吗?
没有。无法使用 nameof
从方法外部获取参数名称。 nameof
如果您想要调用方的名称,则不适用于方法参数(对于被调用方,它显然有效)。您提到的其他方法,如反射,都有效。
var parameterNames = typeof(Program)
.GetMethod(nameof(Program.Main)).GetParameters()
.Select(p => p.Name);
采取以下class和方法:
public class Foo
public Foo Create(string bar) {
return new Foo(bar);
}
所以得到 "Create" 是显而易见的:nameof(Foo.Create)
除了在运行时使用反射读取参数外,还有什么方法可以得到"bar"吗?
没有。无法使用 nameof
从方法外部获取参数名称。 nameof
如果您想要调用方的名称,则不适用于方法参数(对于被调用方,它显然有效)。您提到的其他方法,如反射,都有效。
var parameterNames = typeof(Program)
.GetMethod(nameof(Program.Main)).GetParameters()
.Select(p => p.Name);