2

.NET 4.0 具有新的代码合同功能。它也适用于接口,如此处所述(向下滚动到评论中的某处):

http://weblogs.asp.net/podwysocki/archive/2008/11/08/code-contracts-for-net-4-0-spec-comes-alive.aspx

现在我的问题是,我们是否可以通过将更多自定义代码放入这些合约类来实现某些 MixIns 功能来使用和滥用这个“默认接口实现功能”?

4

1 回答 1

2

我不这么认为。在为接口定义代码契约时,您可以添加一个包含“requires”和“ensures”方法调用的 rela 类,这些方法调用将被添加到实现方法中,但代码重写器只会在编译器完成其工作后运行(即抱怨接口方法不是由类实现的......)

不过,可能会被滥用来实现方面:-)

无论如何,我不认为代码重写器会添加除了需要和确保方法之外的任何其他内容。并且代码不会添加到发布程序集中,只会添加到调试程序集中。

于 2010-01-09T18:46:16.887 回答