我正在制作一种脚本语言,但我遇到了一个严重的问题。
我需要这样做,以便您可以使用该语言调用 .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);
其中assemblyName
和typeName
是字符串,例如:
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/