定义Test类, 通过反射获取Test对象 及为Test中的IntA 赋值,项目结构如下:

代码:
public class Test
{
public static int IntA { get; set; }
public static string StringB { get; set; }
}
class Program
{
static void Main(string[] args)
{
Assembly assembly = Assembly.Load("Common"); //程序集名称
//从程序集中获取指定对象类型;
Type type = assembly.GetType("Common.Test"); //程序集名称.类名
Object obj = type.Assembly.CreateInstance(type.ToString());
Console.WriteLine(type);
Console.WriteLine(obj);
//System.Reflection.PropertyInfo[] propertyInfos= type.GetProperties();
type.GetProperty("IntA").SetValue(obj,1) ;//获取类中的成员属性的值
Console.WriteLine(type.GetProperty("IntA").GetValue(obj));
Console.ReadKey();
}
}

本文展示了如何在C#中利用反射技术动态地加载类并创建实例,同时为类的静态成员变量赋值。代码示例中,通过`Assembly.Load()`加载名为'Common'的程序集,然后使用`GetType()`获取'Test'类,接着创建类的实例,并通过`GetProperty()`和`SetValue()`方法设置'IntA'属性的值。
最低0.47元/天 解锁文章
1901

被折叠的 条评论
为什么被折叠?



