gpt4 book ai didi

c# - 如何通过反射加载的接口(interface)调用.net dll中的函数

转载 作者:行者123 更新时间:2023-11-30 13:51:47 24 4
gpt4 key购买 nike

您好,我会尽力解释一下。

基本上,我使用 Assembly.LoadFile 通过反射加载库。

从那里我有一个接口(interface) IFace,它定义了一个返回字符串数组的方法“GetStrings”。

动态加载的 DLL 有一个名为“Class1”的类,它实现了 IFace。

我需要一种通过动态加载的库调用此接口(interface)方法的方法。我想保持紧密耦合,这让我想知道该怎么做。我知道我可以使用 MethodInvoker 来调用该方法,但我正在尝试找到一种方法来做这样的事情:

IFace obj = (IFace)ReflectionAssembly.Class1;
string[] strs = obj.GetStrings();

有什么想法吗?

最佳答案

类似于:

    var assm = Assembly.Load("ClassLibrary1");
var type = assm.GetType("ClassLibrary1.Class1");
var instance = Activator.CreateInstance(type) as IFace;
string[] strings = instance.GetStrings();

关于c# - 如何通过反射加载的接口(interface)调用.net dll中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3974253/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com