code.dll中有一函数:
BOOL EncodePassword(CString password, CString &newpas) //加密password的内容,加密后的内容放在newpas里。请问该函数在C#中怎么引用?

解决方案 »

  1.   

    首先把这个DLL文件放到(拷贝)你的BIN目录下,然后在要引用这个方法的类中添加using引用,引用包含这个方法的命名空间
    比如你的DLL文件中是这样写的namespace test.md5
    {
    class MD5
    {
    //........
    }
    }那么你需要在你的类文件中
    uing test.md5;
    这样就能引用它里面的类了(类中的方法也要通过对象.XX()  如果是静态方法就是类名.xx()的方式来调用
      

  2.   

    [DllImport("动态库名称", EntryPoint = "函数名称", CallingConvention = CallingConvention.Cdecl)]
    public static extern int 你自己定义的函数名(参数,参数要和dll中的一致)
    还要加个这样的using:
    using System.Runtime.InteropServices;
      

  3.   

    刚才忘了,dll文件要考到系统目录下
      

  4.   

    To wangchao1982 :
    多谢支持!但我调用的是用C写的DLL。To pl281635581 :
    多谢支持!你说的我明白,可能是我说的不够具体,我是不知道BOOL EncodePassword(CString password, CString &newpas)这个函数在C#中怎么写。我是这样解决的:
    =====================
    把code.dll中的原函数改成:
         char * EncodePassword(char*)在C#中的引用:
        [DllImport("../sdk/code.dll", EntryPoint = "EncodePassword", CharSet = CharSet.Ansi)]
        private static extern string EncodePassword(string password);
    =====================希望对各位朋友有帮助,多谢大家的支持,大家可以就“BOOL EncodePassword(CString password, CString &newpas)这个函数怎么在C#中引用?”继续讨论。