- C#字符串转为变量名
反射
class MyClass
{
public string varName = "Hello, World!";
}
string value = (string)typeof(MyClass).GetField("varName").GetValue(new MyClass()); // 根据字符串获取对应的变量值,前提是需要指定变量所属的类
注意,使用静态类时,GetValue
方法的第一个参数是 null,因为静态字段不依赖于实例。
public static class MyClass
{
public static string varName = "Hello, World!";
}
string value = (string)typeof(MyClass).GetField("varName").GetValue(null);
- C#变量名转为字符串
nameof关键字
int myNumber = 42;
string varName = nameof(myNumber); // 将变量名"myNumber"转换为字符串
或 反射
int myNumber = 42;
string varName = typeof(Program).GetField("myNumber").Name; // 将变量名"myNumber"转换为字符串,前提是需要指定变量所属的类