.NET利用反射动态获取程序集的实例对象

在日常的.net程序开发过程中,我们经常会定义一些实体类,用于给业务操作时提供方便,那么就会出现对实体进行赋值。通常的做法我们会把他们一一列举出来进行复制,如果实例类的属性比较多,通过上面的做法就会比较繁琐。
下面我们利用反射来进行获取对象并进行复制。

下面讲述在现项目中反射另外一个项目编译成的dll中的内容
/// <summary>
/// BDU.dll保存路径,反射时使用
/// </summary>
public static string DBUPATH = AppDomain.CurrentDomain.BaseDirectory + "\\bin\\BDU.dll";

  /// <summary>
  /// 反射BDU.dll实体对象的全称
/// </summary>
public const string DBUBASEPARAMETERSNAME    = "BDU.BaseParameters.BDU_";
//类名称
string strDropValue="";
//获取程序集
AssemblyprogramGather=Assembly.LoadFrom(SystemConstSet.DBUPATH);
//获取程序集中对应实体
Type objectType
=programGather.GetType(SystemConstSet.DBUBASEPARAMETERSNAME + strDropValue, false);
//创建实体对象
object objInstance = Activator.CreateInstance(objectType, true);
//遍历实体属性
foreach (PropertyInfo property in objectType.GetProperties())
{
property.SetValue(objInstance, ???, null);
}
//property.SetValue(objInstance, ???, null);这个方法的用法可以参考msndn ,???表示你所要付给属性的值,必须转换成对象
以上这个方法可以根据自己的情况进行改进,写一个满足自己需求的方法。

你可能感兴趣的:(反射,对象,net,实例,动态)