代码之家  ›  专栏  ›  技术社区  ›  herzmeister

滥用.NET 4.0接口代码契约功能以实现混合功能

  •  2
  • herzmeister  · 技术社区  · 15 年前

    .NET 4.0具有新的代码契约功能。它也适用于接口,如本文所述(向下滚动到注释中的某个位置):

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

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

    1 回复  |  直到 14 年前
        1
  •  2
  •   Stephan Leclercq    15 年前

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

    可能会被滥用以实现方面,但是:—)

    不管怎样,我认为代码重写器不会添加任何超出需求和确保方法的东西。并且代码不会添加到发布程序集中,只会添加到调试程序集中。