C# 如何调用dll文件中的某个方法

我现在有个MVision.dll文件,我知道其中有个GetPicture(path as string)函数,现在用C#如何调用?
我现在只知道添加引用,浏览添加该dll文件。然后再using MVision;之后怎么做才能调用GetPicture?
MVision.dll文件,Camera类,GetPicture函数

首先请确认你的 GetPicture 是静态方法还是实例方法.静态方法用类名.方法,进行调用.而实例方法则要先实例化再调用.所以上面两位的回答有片面性,那是静态方法调用方式.
其次请按照下面步骤进行调用:
1)添加引用dll //这个你已经实现了 ,而dll的名称MVision正是GetPicture方法所在类的命名空间的名称.
2)using MVision; // 你已经实现,引用GetPicture方法所在类的命名空间
3)尝试在你的方法内部这样使用:
a) 对于静态方法:
MVision.类.GetPicture // 由于不知道MVision下面有哪些类有GetPicture 方法,所以你要去一个个类查看是否包含GetPicture 方法.
b) 对于实例方法 则 先实例化此类,再调用
MVision.类 classInstance= new MVision.类();
classInstance.GetPicture(...);追问

MVision.dll文件,Camera类,GetPicture方法,是静态方法。
string s ="";
MicroVison.Camera.getpicture();
会提示类、结构或接口成员声明中的标记“(”无效
类MicroVison .Camera中不存在getpicture方法

不知道怎么弄

追答

恩 说明你的类需要实例化 , MicroVison.Camera cam= new MicroVison.Camera();
cam.GetPicture(..);
你再试试.
另外请注意,符号() 用的是英文,不是中文.

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-05-17
using MVision;是命名空间。 命名空间下可能有一个或多个类Class。

类里边有方法。假如方法是静态方法static那就直接用类名调用方法。

如果不是静态方法,那就实例化类new然后调用方法。
第2个回答  2013-05-17
MVision.GetPicture() 就可以了 。追问

能说明白点吗?我之前没用过C#,不知道应该写在哪里。能给个完整点的吗?我这里一直是红色的。

追答

首先请确认你的 GetPicture 是静态方法还是实例方法.静态方法用类名.方法,进行调用.而实例方法则要先实例化再调用.所以上面两位的回答有片面性,那是静态方法调用方式.
其次请按照下面步骤进行调用:
1)添加引用dll //这个你已经实现了 ,而dll的名称MVision正是GetPicture方法所在类的命名空间的名称.
2)using MVision; // 你已经实现,引用GetPicture方法所在类的命名空间
3)尝试在你的方法内部这样使用:
a) 对于静态方法:
MVision.类.GetPicture // 由于不知道MVision下面有哪些类有GetPicture 方法,所以你要去一个个类查看是否包含GetPicture 方法.
b) 对于实例方法 则 先实例化此类,再调用
MVision.类 classInstance= new MVision.类();
classInstance.GetPicture(...);

第3个回答  2013-05-17
你能做这些后,那还不简单,在你要使用的地方:
假如该函数返回值是一个字符串
string stra=MVision.GetPicture(strpath) 即可啊
第4个回答  2013-05-17
一般情况 ,你只需要在写代码的时候键入“Camera.GetPicture()就可以了

C#怎么调用cuda生成的dll文件中的函数
利用反射,下面举例:例如程序集是Lib.dll Assembly ass=new Assembly();\/\/创建反射对象 ass.Load("Lib");\/\/加载程序集,注意后面的dll不用写 object pigInstince=ass.CreateInstance("Lib.Pig");\/\/相当于new Pig();

"c#编程添加引用dll文件"后怎样调用?
using DLL文件的命名空间,然后就可以调用命名空间中的类。如果是不是用c#编写的dll文件,那么就把dll放到合适位置(winform程序目录下,web程序bin文件夹下,system32文件夹下,)然后 using System.Runtime.InteropServices;[DllImport("dll文件名.dll")]public static extern 类型 方法名(参数);即可调用...

怎样在C#中调用DLL中的函数,最好有代码和详细说明
首先,应该在C#语言源程序中声明外部方法,其基本形式是:[DLLImport(“DLL文件”)]修饰符 extern 返回变量类型 方法名称 (参数列表)其中:DLL文件:包含定义外部方法的库文件。修饰符: 访问修饰符,除了abstract以外在声明方法时可以使用的修饰符。返回变量类型:在DLL文件中你需调用方法的返回变量类型。方法名称:在DLL文件...

C#如何调用C++的DLL的结构体数组指针
调用方法:1、添加引用 右击项目-添加引用-浏览 找到本地的dll文件 2、using 该dll文件里面代码的名称空间 然后就可以调用dll文件里面的类(test)和方法(add)了 例如:using aa.test namespace conslole1 { class Program { static void Main(string[] args){ Test test1=new Test();test1.add(...

C# 中如何调用DLL文件?
C# 中如何调用DLL文件的方法是:有命名空间则引入命名空间,dll里面,是a命名空间,有一个b类,然后有一个无参数静态方法c那么调用方法就是a.b.c()。然后是非托管dll需要添加dll的名称,以及方法,也就是你所用到的dll的每个方法都需要添加一次,[DllImport("msvcrt.dll")] public static exter...

C# 成功注入DLL(C++)到进程后,如何调用DLL里的方法
C#调用需要把DLL库的接口封送。例如:本示例显示如何使用 DllImport 属性通过调用 msvcrt.dll 中的 puts 输出消息。\/\/ PInvokeTest.csusing System;using System.Runtime.InteropServices;class PlatformInvokeTest { [DllImport("msvcrt.dll")]public static extern int puts(string c);[DllImport("msvcrt....

如何在C#中调用C\/C++ DLL中的方法
"); } }}\/\/ C#程序配置,一定是类库 二、C++ 程序共有三个程序文件(1) 主程序\/\/ test1.cpp : 定义控制台应用程序的入口点。\/\/\/ 在C++ 项目属性 [配置]-[常规] 中,公共语言运行时支持,一定要选择“公共语言运行时支持”\/\/#include "stdafx.h"#include "yotopcompany.h"#using...

c#调用dll里的某个方法,该方法返回值类型是dll里定义的一个类,该如何...
利用反射调用DLL,并使用DLL中的类创建对象,类型必须加全域名。不过你的问题是不是这个原因需要排查,另外,你可以为你的类定义一个接口,返回后强制转换为接口试试。我给你个,给定域名空间和DLL文件路径及文件名、类名,动态创建对象的构造类。看看有没有帮助。using System;using System.Collections....

C# 写的dll 注入到 别的线程里面 后 怎么调用 dll中的方法
C#调用需要把DLL库的接口封送。例如:本示例显示如何使用 DllImport 属性通过调用 msvcrt.dll 中的 puts 输出消息。\/\/ PInvokeTest.csusing System;using System.Runtime.InteropServices;class PlatformInvokeTest { [DllImport("msvcrt.dll")]public static extern int puts(string c);[DllImport("msvcrt....

C#里,dll文件如何使用??
例如:有一个kinghosky.dll,你在工程里的解决方案资源管理器中右键引用,找到本地磁盘中的dll文件,就可以直接添到你的工程里面,使用方法:你可以先using dll中的命名空间然后直接调用里面的类,KnClass knclss=new KnClass()\/\/如果存在这个类,其实添加完引用以后使用方法和你使用system下的类就是一...

相似回答