在C#中,可以使用反射来实现按属性名称动态访问类的属性。下面是一个示例代码:
using System;
using System.Reflection;
public class DbContext
{
public string ConnectionString { get; set; }
public int Timeout { get; set; }
public bool IsLoggingEnabled { get; set; }
}
public class Program
{
public static void Main()
{
// 创建DbContext实例
DbContext dbContext = new DbContext();
// 使用反射获取属性信息
PropertyInfo propertyInfo = dbContext.GetType().GetProperty("ConnectionString");
// 设置属性值
propertyInfo.SetValue(dbContext, "myConnectionString");
// 获取属性值
string connectionString = (string)propertyInfo.GetValue(dbContext);
Console.WriteLine(connectionString);
}
}
在上面的代码中,我们首先定义了一个DbContext
类,该类包含了几个属性。然后,在Program
类中,我们创建了一个DbContext
实例,并使用反射获取了ConnectionString
属性的信息。然后,我们可以使用SetValue
方法来设置属性值,使用GetValue
方法来获取属性值。
请注意,使用反射可能会导致性能上的一些损失,因此应该在必要时使用。
上一篇:按属性类型提取值