我有一个函数,返回相同类型的对象(查询结果) ,但没有共同的属性或方法。为了有一个共同的类型,我使用了一个空接口作为返回类型,并在两者上“实现”了它。
听起来不太对劲。我只能通过坚持希望有一天这些类会有共同点来安慰自己,我将把这些共同的逻辑移到我的空接口上。然而,我并不满意,并且在考虑是否应该有两个不同的方法,然后有条件地调用下一个。这是个更好的方法吗?
我还被告知.NETFramework 使用空接口来标记目的。
我的问题是: 一个空的界面是一个设计问题的强烈标志还是它被广泛使用?
编辑 : 对于那些感兴趣的人来说,我后来发现函数式语言中的歧视性联合是我所努力实现的目标的完美解决方案。C # 似乎对这个概念还不太友好。
编辑 : 关于这个问题,我写了一个 更长的一块,详细解释了这个问题和解决方案。