假设说我现在有一个外部的test.dll现在我想看下这个dll 里面到底都有哪些方法 变量什么的。
这个dll是一个GSM模块,我下一步要调用它。
现在我建了一上winform的控制台程序。
我现在怎么放到我的项目中 ,引用 ,访问。
要详细代码。步骤。 谁帮我结解了 70分全给他。 不管代码简单还怎么样 ,能帮我把这个问题结解了就值70分!!

解决方案 »

  1.   

    这个dll是什么dll,标准dll还是.net的dll
      

  2.   

    标准pe结构的dll可以下载dllviewer查看。
    .net写的你直接添加引用,在对象浏览器看。
      

  3.   

    动态引用就用反射技术,人工查看用dllviewer
      

  4.   


    你给讲一个什么是标准 是不是标准啊 。 对了你们说的那个 器 我以前用过 。我现在要代码。 因为这是作操C#dll的通用方法。管他什么dll.
      

  5.   

      将dll文件加载到你的项目bin文件下,,然后在页面引用
      

  6.   

    refelctor反编译
    添加引用,对象浏览器
      

  7.   


    不解释,看不懂的楼下解释或看msdn
    public void Test()
    {
        Assembly asm = Assembly.Load(File.ReadAllBytes("你的dll文件"));
        asm.GetTypes().ToList().ForEach(t =>
            {
                //这里t就是所有类型了
                Console.WriteLine(t.FullName);
                //字段
                t.GetFields(BindingFlags.CreateInstance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic).ToList().ForEach(f =>
                    {
                        Console.WriteLine(f.Name);
                    });
                //属性
                t.GetProperties(BindingFlags.CreateInstance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic).ToList().ForEach(p =>
                {
                    Console.WriteLine(p.Name);
                });
                //方法
                t.GetMethods(BindingFlags.CreateInstance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic).ToList().ForEach(m =>
                {
                    Console.Write(m.Name + "(");                //方法的属性
                    bool first = true;
                    m.GetParameters().ToList().ForEach(p =>
                        {
                            if (!first) Console.Write(",");
                            Console.Write(p.ParameterType.Name + " " + p.Name);
                            first = false;
                        });
                    Console.Write(")");
                });
            });
    }
      

  8.   

    1,使用Assembly的静态方法或者Activator类加载程序集,
      如:Assembly asm = Assembly.LoadFrom(“test.dll”);//Load还是LoadFrom来着?
    2.创建一个类的实例,如果你要调用的是实例方法
      如:Object obj = asm.CreateInstance("FullClassName");
    3.取得类的类型
      如:Type t = asm.GetType("ClassName")
    4.取得类的方法信息
      如:MethodInfo mi = t.GetMethod("MethodName")
    5.传入实例并调用此方法
      如:mi.Invoke(obj, 参数);
      

  9.   

    可以在VS中直接引用的啊,在VS解决方案资源管理器->引用上面点右键 引用,加入你想要的dll,双击之,然后你就可以看到dll的函数和属性了,在程序中就可以引用了。
      

  10.   


    是用C写的dll  你怎么用C#引用? 不是都能引用的了的。