c# - 如何在 C# 中调用托管 DLL 文件?

标签 c# dll call external managed

我正在制作一种脚本语言,但我遇到了一个严重的问题。

我需要这样做,以便您可以使用该语言调用 .NET DLL,但我发现无法在 C# 中执行此操作。

有人知道如何以编程方式加载和调用 .NET dll 吗? (我不能只添加引用所以不要那样说)

最佳答案

这是我的做法:

Assembly assembly = Assembly.LoadFrom(assemblyName);
System.Type type = assembly.GetType(typeName);
Object o = Activator.CreateInstance(type);
IYourType yourObj = (o as IYourType);

其中assemblyNametypeName是字符串,例如:

string assemblyName = @"C:\foo\yourDLL.dll";
string typeName = "YourCompany.YourProject.YourClass";//a fully qualified type name

然后你可以在你的对象上调用方法:

yourObj.DoSomething(someParameter);

当然,你可以调用什么方法是由你的接口(interface)定义的 IYourType...

关于c# - 如何在 C# 中调用托管 DLL 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6830610/

相关文章:

c# - 如何在多个操作系统版本上测试 Windows 应用程序

c++ - DirectDraw使用GetProcAddress获取程序地址

c# - System.Net.Http DLL 未复制到 bin 文件夹中 - IdentityServer4.AccessTokenValidation

c# - 从客户端的不同文件加载 WCF 配置

c# - XmlDocument.Load : Could not create SSL/TLS secure channel

c# - 如何将 Entity(EF) 和 EntityDTO 与 Contract(Interface) 一起使用

语音通话服务商

c++ - 链接器未解析的外部符号 - 在 dll 中找不到函数

在 charCodeAt 上使用的 Javascript 应用或调用

c++ - 编译器如何处理仿函数中重载的函数调用运算符?