反射?? 遍历自定义类中全部属性
Project1.dll文件中定义了类Class_A08R
namespace Project1
{
[Serializable]
public class Class_A08R
{
public string dEvent;
public string bill_no;
}
}
另一项目引用 Project1.dll
public Project1.Class_A08R Class_A08R_obj = new Project1.Class_A08R();
Type t = Class_A08R_obj.GetType();
ProperInfo[] properties_A08R = t.GetProperties();
对象数组properties_A08R始终是0维,没数据
Assembly theAssembly = Assembly.LoadFile(path1); //path1:Project1绝对路径
Type t = theAssembly.GetType( "Project1.Class_A08R ");
ProperInfo[] properties_A08R = t.GetProperties();
properties_A08R始终是0维
而把自定义的类换成Dataset类,Type类 测试,是能返回多维的.怎么回事
ProperInfo[] properties_test = Type.GetType( "System.type ").GetProperties();
------解决方案--------------------属性和变量分不清?
你定义的是变量,对应的是FieldInfo
------解决方案--------------------public string sss
{
get
{}
set
{}
}
这才是属性
------解决方案--------------------public string bill_no;
这种东西叫 Field , 你应该用 GetFields 来返回.
这样才是Property:
pubilc string bill_no{
get{return null;}
}
------解决方案--------------------没见 LZ 定义 Property, 只见 Field
------解决方案--------------------上面说得对, 面向对象里常说成员变量, 属性, 方法, 构造函数, 析构函数, 分清楚, 把问题整理下, 到底想怎么做。 .net里面的发射是可以取得所有东西的。