我有一个函数返回相同类型的对象(查询结果),但没有共同的属性或方法.为了有一个共同的类型,我使用空接口作为返回类型,并在两者上"实现".
这听起来不对.我只能通过坚持希望有一天这些类会有一些共同点来安慰自己,我会将这个共同的逻辑移到我的空接口上.然而,我并不满足于思考我是否应该采用两种不同的方法并有条件地呼叫下一步.这会是一个更好的方法吗?
我还被告知.NET Framework使用空接口进行标记.
我的问题是:空接口是设计问题的强烈标志还是被广泛使用?
编辑:对于那些感兴趣的人,我后来发现功能语言中的歧视联盟是我试图实现的完美解决方案.C#对这个概念似乎并不友好.
编辑:我写了一篇关于这个问题的文章,详细解释了问题和解决方案.