繁体   English   中英

使用C#中的参数bei DLLImport

[英]use Parameters bei DLLImport from C#

我在使用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);

你能告诉我这个错误吗? 谢谢您的帮助。

你必须在没有this.情况下调用它this. 指针,因为它不是实例成员; 它是一个静态成员。

Ahaha! 公共静态外部。 简单地使用Program.Unbenannt2或Unbenannt2。

编译器告诉您,您的方法是一个static方法,并且您尝试访问它,就像它是一个实例方法一样。 这意味着是不属于您的Program类的实例。

您可以使用类型名称来限定它 ,因为编译器建议:

Program.Unbenannt2(out Amplitude, out Reqlength);

或者,因为它无论如何都属于您的Program类,您可以简单地省略类型名称:

Unbenannt2(out Amplitude, out Reqlength);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM