C#调用dll,函数参数类型怎么定义 本帖最后由 bolt001 于 2015-03-12 21:20:35 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public static extern ushort GetInfo(StringBiuder Manufacturer, StringBiuderProducer, StringBiuder SerialNumber, StringBiuderBufLength); 没太明白你的意思,你是要调用1中的函数,还是要定义你最下面问的那个方法? 如果直接调用1中的函数的话,他返回的是一个值,你就定义一个整型变量来接收他:int result = GetInfo(‘参数1’,‘参数2’,‘参数3’,‘参数4’);如果你是要定义一个方法,然后来调用这个方法的话,就是:public static ushort GetInfo(string Manufacturer, string Producer, string SerialNumber, string BufLength) //此方法返回一个值{ .....你要实现的代码;}然后再你要调用的方法下面:string Manufacturer = null, Producer = null, SerialNumber = null, BufLength = null; //定义变量来当参数 int result = GetInfo(Manufacturer, Producer, SerialNumber, BufLength); //定义整型来接收方法返回的值。 上面忘记写返回了,现在加上如果直接调用1中的函数的话,他返回的是一个值,你就定义一个整型变量来接收他:int result = GetInfo(‘参数1’,‘参数2’,‘参数3’,‘参数4’);如果你是要定义一个方法,然后来调用这个方法的话,就是:public static ushort GetInfo(string Manufacturer, string Producer, string SerialNumber, string BufLength) //此方法返回一个值{ ushort result = 0; ...代码 return result ;} 然后再你要调用的方法下面:string Manufacturer = null, Producer = null, SerialNumber = null, BufLength = null; //定义变量来当参数 int result = GetInfo(Manufacturer, Producer, SerialNumber, BufLength); //定义整型来接收方法返回的值。 1)dll是C++中定义的函数,也是C#准备调用的;2)是源程序的在C++中的调用;共大家参考的;1楼的方法编译通不过,string无法转到StringBuilder2楼的方法编译通过,但是不能运行,提示发生未经处理的win32异常。谢谢大家了 ..你真不懂C#? 上面改参数类型,也边的引用,当然也要跟着改呀,汗。你直接string 传给StringBuilder当然编译不通过。。 图片相同三角形区域替换问题 使用delegate 后无法关闭Form 问个dataGridView显示树状表的问题 ¥4,676.20如何转换成4676.20? 怎样判断显卡有几个输出口? 请各位进来给点思路 我想建个TextBox的派生类,请问有没有什么向导? 新手的苦恼:如何用C#语言实现数据库的恢复!!!!! Dotnetbar10的DLL文件系统注册问题 入门级问题 IE浏览器将指定选项卡设置为当前选项卡 使用C#开发窗体应用程序,实现绘制星空图如何做
如果你是要定义一个方法,然后来调用这个方法的话,就是:
public static ushort GetInfo(string Manufacturer, string Producer, string SerialNumber, string BufLength) //此方法返回一个值
{
.....你要实现的代码;
}然后再你要调用的方法下面:
string Manufacturer = null, Producer = null, SerialNumber = null, BufLength = null; //定义变量来当参数
int result = GetInfo(Manufacturer, Producer, SerialNumber, BufLength); //定义整型来接收方法返回的值。
如果直接调用1中的函数的话,他返回的是一个值,你就定义一个整型变量来接收他:int result = GetInfo(‘参数1’,‘参数2’,‘参数3’,‘参数4’);
如果你是要定义一个方法,然后来调用这个方法的话,就是:
public static ushort GetInfo(string Manufacturer, string Producer, string SerialNumber, string BufLength) //此方法返回一个值
{
ushort result = 0;
...代码
return result ;
} 然后再你要调用的方法下面:
string Manufacturer = null, Producer = null, SerialNumber = null, BufLength = null; //定义变量来当参数
int result = GetInfo(Manufacturer, Producer, SerialNumber, BufLength); //定义整型来接收方法返回的值。
2)是源程序的在C++中的调用;共大家参考的;1楼的方法编译通不过,string无法转到StringBuilder
2楼的方法编译通过,但是不能运行,提示发生未经处理的win32异常。
谢谢大家了
你直接string 传给StringBuilder当然编译不通过。。