当前位置:编程学习 > C#/ASP.NET >>

急急急 ~~~~ 拜托大家了

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 --------------------编程问答-------------------- ??? --------------------编程问答--------------------

        public void main(object obj)
        {
            Type type = obj.GetType();
            MemberInfo[] memberInfo = type.GetMember("Id");
        }
--------------------编程问答-------------------- u p --------------------编程问答-------------------- 楼上已经说明了反射;我在扩展一点点吧。你可以使用反射读取该程序集当中的元数据信息,他会使用.net公共语言运行时环境来加载该程序集地元数据。然后做了一个键值映射。你通过类型限定名来获取他指定的键值映射的元数据。详细讨论加QQ522040111 --------------------编程问答--------------------  public void main(object obj)
            {
                // 拿到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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,