私はDllImportの処理に不慣れなので、誰かが私の小さな問題を解決できれば幸いです。クラス内にメソッドを持つdllをインポートしたい。メソッドはstringarrayを返す必要があります。
だからここにいくつかのコードがあります:
Form1.cs(コーリングポジション):
...
public partial class Form1 : Form
{
[DllImport("lang.dll")]
public static extern string[] getValues();
// |
//error occures here v
string[] labels = getValues();
Status prgmStatus;
public Form1()
{
...
language.cs(私の.dllファイルのクラス):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace lang
{
public class language
{
public language()
{
}
public string[] getValues()
{
string[] content =
{
"User",
"Password",
"Login",
"Create new account ->",
"Repeat password",
"E-Mail adress",
"Register",
"<- Back to Login"
};
return content;
}
}
}
したがって、プログラムを起動すると、dllのメソッドが呼び出され、次のように表示されます。
(画像はここにあります:
このエラーを回避してアレイを適切に取得するにはどうすればよいですか?
答えと解決策をありがとう、Paedow
アップデート:
このパスから、同じ構造で他のコンテンツを持つ他の.dllファイルをロードできるはずです。dllには、英語のWindowsフォームのラベルが含まれています。誰かがこのプログラムを自分の言語で使用したい場合は、自分のラベルを使用してdllをコンパイルし、dllを置き換える必要があります。
別の更新:dllファイルは同じソリューションでビルドされていません。dllは独自のソリューションであり、最終的な.dllファイルのみが私のプログラムで使用されるため、参照はありません。