比如说一个工程里面引入了50个DLL
然后在一个CS文件里面,用到了User 这个类
有什么办法可以快速得知User这个类是声明 在哪个DLL中的?

解决方案 »

  1.   

    User.GetType()返回User的类型,每个Type
    Type.NameSpace属性可以知道Type定义在那个命名空间中。如梦说的是这个意思。但是命名空间不能与dll文件名对应上。我觉得,楼主是不是说50个dll中,都含有user的定义,但是不知道要用哪个?
    如果这样的话,你不需要全名称去搜索了,所谓的全名称,就是User类的命名空间+类名,去唯一确定一个类。这样的话,你如果要编程实现,就要用Assembly.Load方法加载dll,然后去查找dll中有没有对应的类。
      

  2.   

    用vs2010就吧,在vs2010右键点击这个类名-> Go to Difinetion这样就会到这个类的定义,虽然只有Dll你看不到源代码,但在这个最上面有一个这样注视
    #region Assembly System.Windows.Forms.dll, v2.0.50727
    // C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Windows.Forms.dll
    #endregion这里有是那个assblmy
      

  3.   

    有什么办法在代码中得到这个DLL的绝对路径?
      

  4.   

    //If your class type is User
    Console.WriteLine(Assembly.GetAssembly(typeof(User)).Location);