簡體   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