急急急 ~~~~ 拜托大家了
public class Stu{
private int id;
public int Id
{
get { return id; }
set { id = value; }
}
}
public class Test
{
public void Mtt()
{
Stu s = new Stu();
s.Id = 5;
main(s);
}
public void main(object obj)
{
// 拿到Stu的Id属性即可
// 声明:(不能使用 1.Stu s = (Stu)obj;2.Stu s = obj as Stu;)
// 填写代码...
}
} --------------------编程问答-------------------- 用反射 --------------------编程问答-------------------- 具体怎么做呀~~ --------------------编程问答-------------------- (⊙o⊙)… 这是要干什么 --------------------编程问答-------------------- 拿到Stu的Id属性呀 ~~ --------------------编程问答--------------------
public virtual MemberInfo[] GetMember(
string name,
BindingFlags bindingAttr
)
BindingFlags用NonPublic --------------------编程问答-------------------- ??? --------------------编程问答--------------------
--------------------编程问答-------------------- u p --------------------编程问答-------------------- 楼上已经说明了反射;我在扩展一点点吧。你可以使用反射读取该程序集当中的元数据信息,他会使用.net公共语言运行时环境来加载该程序集地元数据。然后做了一个键值映射。你通过类型限定名来获取他指定的键值映射的元数据。详细讨论加QQ522040111 --------------------编程问答-------------------- public void main(object obj)
public void main(object obj)
{
Type type = obj.GetType();
MemberInfo[] memberInfo = type.GetMember("Id");
}
{
// 拿到Stu的Id属性即可
// 声明:(不能使用 1.Stu s = (Stu)obj;2.Stu s = obj as Stu;)
// 填写代码...
Type t = obj.GetType();
System.Reflection.PropertyInfo attrs = t.GetProperty("Id");
Console.WriteLine( attrs.GetValue(obj,null));
} --------------------编程问答-------------------- Console.WriteLine( attrs.GetValue(obj,null))
红色字体就是你要的Id属性 --------------------编程问答-------------------- 顶。不会
补充:.NET技术 , .NET Framework