7

究竟是什么混入?
有什么技术可以在 c# 中实现这一点吗?

4

3 回答 3

6

mixin 是一组类成员,它们可以“混合”到一个类中,而不会出现多继承问题。

C# 本身没有 mixins,但为类似的目标提供了扩展方法。

于 2010-08-04T13:00:27.660 回答
4

我不是专家,但这就是我发现的。

  1. C# 3.0 中的混合
  2. 使用 C# 扩展方法实现 Mixin

来自 MSDN 博客:

C# 中的混合

有人认为即将到来的 C# 3.0 中的扩展方法是一种 Mixins,因为您可以在这些方法中放入功能,并随意将其标记到您想要的任何类上。在 C# 2.0 规范第 20.1.3 节中,明确指出泛型类的基类必须是构造类类型,因此这排除了在 C# 中使用上述方法。我不太清楚为什么我们选择明确禁止抽象子类。由于 C# 不支持多重继承,IMO 它应该支持 Mixin 样式编码。

于 2010-08-04T12:59:35.073 回答
4

请在 codeplex.com 上查看re-mix 。它是一个将 mixins 引入 .NET 的开源库

在那里,您将获得有关如何使用 .NET 实现 mixin 的分步指南

于 2011-04-18T10:11:42.980 回答