c#通过字符串拼接变量名引用当前类中的全局变量
时间: 2024-09-21 08:05:04 浏览: 42
在C#中,如果你想要通过字符串拼接来动态地引用当前类中的全局变量,你可以使用`FieldInfo`类和`GetFieldValue`方法。这个过程需要先获取字段信息,然后根据字符串名称找到并获取值。下面是一个简单的示例:
```csharp
public class MyClass
{
public string GlobalVariable = "Hello World"; // 全局变量
public void AccessGlobalVariable(string variableName)
{
Type thisType = this.GetType();
FieldInfo field = thisType.GetField(variableName); // 获取指定名称的字段信息
if (field != null)
{
object fieldValue = field.GetValue(this); // 动态获取值
Console.WriteLine($"Value of {variableName}: {fieldValue}");
}
else
{
Console.WriteLine("Field not found.");
}
}
}
// 调用示例
MyClass myObj = new MyClass();
myObj.AccessGlobalVariable("GlobalVariable"); // 输出 "Value of GlobalVariable: Hello World"
```
请注意,这个做法仅适用于静态成员(如全局变量),且如果字段是私有或受保护的,你需要适当修改访问权限才能成功。
阅读全文