A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© leayon 中级黑马   /  2013-8-29 11:29  /  1684 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 leayon 于 2013-8-29 13:16 编辑

如图,我在程序里面有创建Person这样的一个类,然后我使用Assembly类的GetType()方法,为什么这样获得的Type对象是为null?

反射.jpg (109.17 KB, 下载次数: 6)

反射.jpg

评分

参与人数 1技术分 +1 收起 理由
赵宗荣 + 1

查看全部评分

3 个回复

倒序浏览

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Assembly assembly = Assembly.Load("ConsoleApplication1");
            /*
            Type[] types = assembly.GetTypes();
            foreach(var item in types)
            {
                Console.WriteLine(item.Name);
            }
             * */
            //要加命名空间
            Type type = assembly.GetType("ConsoleApplication1.Person");
            MemberInfo[] members = type.GetMembers();
            foreach(var item in members)
            {
                Console.WriteLine(item.Name);
            }
            Console.ReadLine();
        }
    }
    class Person
    {
        public string Name{get;set;}
    }
}

评分

参与人数 1技术分 +1 收起 理由
赵宗荣 + 1

查看全部评分

回复 使用道具 举报
就是我 发表于 2013-8-29 12:50
namespace ConsoleApplication1
{
    class Program

啊。。。居然是这样的,多谢指教!{:soso_e183:}
回复 使用道具 举报
Assemble.Load的参数要为类的完全限定名称~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马