主要使用NatashaDomain类实例化的方法(源码位置:src\Natasha.Domain\Extension\NatashaDomainExtension.cs)
相关方法:
LoadPluginUseDefaultDependency 如果加载的dll已经被加载过了,则跳过
LoadPluginWithAllDependency 不会判断高低版本,源码中的解释是默认的,感觉和Default类似
LoadPluginWithHighDependency 使用高版本的dll
LoadPluginWithLowDependency 使用低版本的dll
参数说明:
string path 必填,dll所在路径
Func? excludeAssembliesFunc = null 选填,需要排除的dll,返回true为排除引用,例如共同引用某个公用的dll(例如Utils.dll),此时可以选择使用哪个版本的dll
找到class类(默认所有插件的实现类为*Controller),也可以按照下面例子来例子
var type = assembly.GetTypes().Where(item => item.Name.IndexOf("Controller")!=-1).First();
实例化
var plugin = (IPluginClass)(Activator.CreateInstance(type)!);
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |