C#有没有办法将DllImport与泛型方法类型一起使用?

C#有没有办法将DllImport与泛型方法类型一起使用?,c#,C#,我的问题是我想用一个通用方法使用DllImport,但我无法让它工作 我正在使用一个名为“newtonsoft.json”的C#库,我想将DllImport与此方法结合使用: [DllImport(@"path to my dll")] public static T public static extern DeserializeObject<T>(string value); [DllImport(@“我的dll的路径”)]公共静态 公共静态外部反序列化对象(字符串值); 它

我的问题是我想用一个通用方法使用
DllImport
,但我无法让它工作

我正在使用一个名为“newtonsoft.json”的C#库,我想将
DllImport
与此方法结合使用:

[DllImport(@"path to my dll")] public static T
public static extern DeserializeObject<T>(string value);
[DllImport(@“我的dll的路径”)]公共静态
公共静态外部反序列化对象(字符串值);

它告诉我,
DllImport
属性不能应用于泛型方法类型

我通过单击项目>添加>引用添加了DLL文件并选择了库,然后我刚刚用.exe文件复制了库。

Newtonsoft.Json
是一个托管库,不需要
[dlliport]
它。添加对程序集的引用,使用Newtonsoft.Json将
添加到C#文件的顶部,然后立即开始使用
JsonConvert.DeserializeObject()
。我不太明白。Json是一个.NET库,您应该能够在项目中添加对该DLL的引用(如果您是通过NuGet安装的,那么这可能已经为您完成了),然后在文件的顶部放置一个
using
语句,让您可以访问其方法。DLLImport用于将非.NET dll中的方法导入到您的代码中。@SamPearson谢谢,但是当我将.exe文件复制到另一个位置时,它给了我一个缺少dll的错误,现在我注意到我只需要将.dll文件复制到带有exe的位置。我已经解决了这个问题。你不能只复制一个exe,这不是部署.NET应用程序的方式。我建议你对此做一些研究,网上有很多教程、例子、博客和其他资源。从微软开始。