2010-03-31 31 views
4

对于低于版本4.0的C#鸭子打字的现状是什么?最新的C#鸭子打字库

我知道Duck Typing Project,我知道BLTookit有这样的结果,但我想知道如果我除了DLR语言和C#4.0之外还有一些真正的缺陷。

+1

我看不出你如何能做到这一点与库。在4.0-C#中添加的新东西是静态类型的之前。期。允许鸭子打字的添加比简单的图书馆更加深入。 – 2010-03-31 14:38:34

+0

@比利查看我的编辑。这在C#4.0以前是完全可行的 – 2010-03-31 14:42:14

+0

我试图让我的“DeformedDuck”“Quack()”因为此刻他只有“MakeNoise()”而我写了一个Quack()扩展方法,但是我发现只有你提到的那个库,它似乎不支持扩展方法。 – Myster 2010-06-11 03:13:42

回答

3

在c#代码中使用铁蟒。我们已经非常成功地使用了它。

2

您可以使用DLR作为.NET 4之前的动态类型功能,但不能使用dynamic关键字,因此可能会很痛苦。其余的“鸭子打字”功能看起来像可以通过类似Castle Dynamic Proxy的东西。