public interface CLibrary { const string DdlPath = "D:\\货流径路分析及开发\\货流分析_demo\\Frequency of Freight\\jlDll\\JlForHdxt.dll"; [DllImport(DdlPath, CallingConvention = CallingConvention.Cdecl)] static extern CLibrary GetInstance(); }目标运行时不支持默认接口实现
时间: 2023-06-18 17:05:47 浏览: 171
VC++ string_format(const char* format, ...)
5星 · 资源好评率100%
这个错误提示是因为在 C# 8.0 中引入了默认接口实现的功能,但是目标运行时不支持这个功能。
解决方法有两种:
1. 升级 .NET 运行时环境到支持默认接口实现的版本。
2. 将接口中的默认实现移动到实现接口的类中。
第二种方法的代码示例:
```csharp
public interface CLibrary
{
const string DdlPath = "D:\\货流径路分析及开发\\货流分析_demo\\Frequency of Freight\\jlDll\\JlForHdxt.dll";
CLibrary GetInstance()
{
return GetInstanceImpl();
}
}
[DllImport(CLibrary.DdlPath, CallingConvention = CallingConvention.Cdecl)]
static extern CLibrary GetInstanceImpl();
```
这样就把默认接口实现转换为了类中的实现。
阅读全文