是否可以将扩展方法应用于接口?(C#问题)
例如,要实现以下目标:
为此接口创建一个公共静态interface
这样,实现接口的类就不需要设置类名,以便与扩展方法中定义的类名保持一致。
发布于 2010-05-05 10:58:19
当然可以;Linq的大部分都是围绕接口扩展方法构建的。
接口实际上是开发扩展方法的驱动力之一;因为它们不能实现自己的任何功能,所以扩展方法是将实际代码与接口定义相关联的最简单的方法。
有关围绕IEnumerable<T>
构建的扩展方法的完整集合,请参阅Enumerable类。要实现一个,它与为一个类实现一个相同:
public static class TopologyExtensions
{
public static void CountNodes(this ITopology topology)
{
// ...
}
}
就接口而言,扩展方法没有什么特别的不同;扩展方法只是一个静态方法,编译器会对其应用一些语法糖,使其看起来像是目标类型的一部分。
https://stackoverflow.com/questions/2770333
复制相似问题