我在使用Labview中构建的DLL中的参数时遇到问题。
我的整个代码是:
namespace ConsoleApplication4
{
public class Program
{
//DLL einbinden
[DllImport(@"C:\DLL_Uebergabe\SharedLib.dll")]
public static extern void Unbenannt2(out double Amplitude, out double Reqlength);
public void Main(string[] args)
{
//Einbinden der .Net Interop-Assembly
//double Amp;
//Result Amplitude = new Result();
//Amp = Amplitude.GetResult();
//Console.WriteLine("Amplitude ist demzufolge: {0}", Amp);
double Amplitude;
double Reqlength;
this.Unbenannt2(out Amplitude, out Reqlength);
Console.WriteLine("Amplitude: {0} und Reqlength: {1}", Amplitude,Reqlength);
}
}
}
我的编译器总是说:
“无法使用实例引用访问,而是使用类型名称对其进行限定。”
此错误在代码行引发:
this.Unbenannt2(out Amplitude,out Reqlength);
你可以告诉我这个错误吗?谢谢你的帮助。答案 0 :(得分:1)
你必须在没有this.
指针的情况下调用它,因为它不是实例成员;它是一个静态成员。
答案 1 :(得分:1)
Ahaha !!公共静态 extern。简单使用Program.Unbenannt2或Unbenannt2。
答案 2 :(得分:1)
编译器告诉您,您的方法是static
方法,并且您尝试访问它,就像它是实例方法一样。 This means is doesn't belong to an instance of your Program
class.
您可以使用类型名称来限定,如编译器所示:
Program.Unbenannt2(out Amplitude, out Reqlength);
或者,既然它属于你的Program
类,你可以简单地省略类型名称:
Unbenannt2(out Amplitude, out Reqlength);