|
|
1
3
我主张创建两个附加接口:
然后让你所有的插件实现其中的一个或另一个。你唯一需要区别的时候就是打电话的时候
例如,要执行呼叫,您需要执行如下操作:
注意有 技术上 没有限制,允许开发人员只实现其中一个版本,但希望这不是问题。在这段代码中,首先检查参数化版本的存在,然后检查无参数化版本,如果两者都找不到,则抛出异常。 |
|
2
1
不幸的是有一个或另一个
一种可能是将两个重载添加到
另一种可能是两个接口,
另一种可能是扩展方法
|
|
|
3
0
您可以有一个这样的基本接口:
运行适当的插件…
|
|
|
4
0
所以,你说…
我不太确定我是否理解包装类的问题,但是我们可能在考虑不同的事情。 我正在考虑的包装类将采用参数为零的接口,并使其看起来像一个参数的接口。当调用“runplugin”时,该参数将被忽略。 这将删除接口类型上的任何分支,您只需创建一个类——它可以包装任何无参数接口的实例。所以每个插件不应该需要任何特殊的代码。只需在创建插件实例时创建包装。 (顺便说一下,这是 Adapter pattern ) |
|
|
JBryanB · 如何从基本抽象类访问类属性 3 年前 |
|
|
Gabe Tucker · 无法在golang中分配接口对象指针 4 年前 |
|
|
jkone27 · F#-在编译时从字符串生成简单的空类型 8 年前 |
|
|
John Bustos · C#通用工厂模式,不说明通用工厂模式的类型 8 年前 |
|
|
Randall Flagg · 访问propertyinfo中的属性 8 年前 |
|
|
Kacper · 在反映的全名和成员c后的“*”中,“+”是什么意思# 8 年前 |
|
|
tobeypeters · 反射铸造 8 年前 |
|
|
myst02 · 如何在另一个方法之后调用该方法? 8 年前 |