c# - 在 DLLImport 中使用 DLL 名称的变量
问题描述
在 C# 中,我可以执行以下操作:
public partial class Form1 : Form
{
[DllImport("veie_dll.dll", EntryPoint = "my_multiply"]
public static extern int my_multiply(int x, int y);
但是当我尝试使用一个变量作为 dll 名称时(这样我就可以在错误消息中使用它),如下所示:
public partial class Form1 : Form
{
string dllName = "veie_dll.dll";
[DllImport(dllName, EntryPoint = "my_multiply"]
public static extern int my_multiply(int x, int y);
我收到一个错误:CS0120 非静态字段、方法或属性“Form1.dllName”需要对象引用
关于如何正确执行此操作的任何建议?
解决方案
我会说,如果你想使用字符串变量,那么它应该是 const 变量,然后只有它才能工作,我看不到其他选项。
public const string dllName = "veie_dll.dll";
推荐阅读
- javascript - 使用 console.log 检查 FormData 对象
- java - 计算一个二次方程 - OOP Java switch case
- sql - 有计数的 SQL UPDATE
- javascript - Javascript中的递归四分位数排序器
- java - 使用 java 上传 csv 文件时,应为 DB 中的每一行添加日期
- jquery - 滚动时单击事件后,活动菜单项不会更改他的类
- r - 将一个数据帧拆分为多个数据帧
- java - RMI 服务器端 java.net.MalformedURLException:未知协议:c
- c# - 使用 Lambda 表达式参数调用通用方法(以及仅在运行时知道的类型)
- regex - 正则表达式以未定义的顺序匹配给定数量的字符