none
请问有不有一个能获取程序集中的公共成员的类型并且打印输出的工具啊? RRS feed

  • 问题

  • Hi all,
    Who knows a tool which can analyze the public types and members in an assembly and print them out to a text file. For example, for an assembly with this class:

     

    namespace space

    {

    class foo

    {

    private int b;

    public void x(int c);

    public int a;

    }

     

    class bar

    {

    public int y();

    }

    }

     

    The following output is printed:

    space.bar.y

    space.foo.a

    space.foo.x(System.Int32 c);

    2010年3月2日 3:03

答案

全部回复

  • Hello,Picasso, you can use reflection (System.Reflection namespace) to print public types' members.


    Memory all alone in the moonlight~My Blog in .NET~~~
    2010年3月2日 3:08
    版主
  • 有一款叫做reflector的软件,可以对已编译的程序集进行反编译,并显示你所要的东西
    2010年3月2日 3:10
  • Thank you very much , I will try it this afternoon.
    BTW,If I have any other question I will come here again.  :)

    2010年3月2日 3:14
  • 有一款叫做reflector的软件,可以对已编译的程序集进行反编译,并显示你所要的东西

    我现在电脑里就有reflector 但是我并不是很清楚怎么用这个工具打印出来一个dll文件中所有的公共成员和类 我平时也就用这个工具看看资源文件 请问您能告诉我具体要怎么做吗?
    2010年3月2日 4:34
  • 中午试了很久 还是无法成功 能给我具体代码参考一下吗?
    能够取一个dll文件程序集中所有的公共类和成员 并用txt 输出成UTF8格式的。
    具体写出来的东西 我想用cmd命令的形式来运作他 比如说:
    AAAA.exe  BBBB.dll  CCCC.txt
    AAAA.exe 是写出来的工具  BBBB.dll是我要取得程序集  CCCC.txt 是输出的UTF8格式的打印结果 
    谢谢
    2010年3月2日 5:29
  • 你好!     这个功能不用工具也很容易实现,估计也就10几行代码,你尝试System.Reflection命名空间中的类自己做一下,实在实现不出来我们再交流!
    周雪峰
    2010年3月2日 6:29
    版主
  • 嗯 还在尝试 有问题再交流

    2010年3月2日 7:05
  • 已解决了 用fieldInfo方法和MethodInfo方法 然后判断是否为public 然后输出 谢谢
    2010年3月2日 7:34