【发布时间】:2025-12-29 19:00:12
【问题描述】:
我尝试为我的应用程序实现插件系统。这个想法是在一个文件夹中存储用户程序集。当我的应用程序启动时,我想从用户程序集中获取对象列表。
public void InitPlugins()
{
var userAssemblies = Directory.GetFiles(PATH,"*.dll");
foreach(var file in userAssemblies)
{
Assembly customAssembly = Assembly.Load(file);
//How can I find all object implements IPlugin in this assembly?
}
}
【问题讨论】:
-
我假设您已经检查了
Assembly类中有趣的方法,例如GetTypes ...您的问题是如何检查给定的类是否实现了接口?旁注:严格来说,程序集包含类型/类而不是对象。 -
旁注:我已编辑标题以匹配已接受的问题。随意编辑/恢复。
标签: c# plugins reflection