看一下HtmlHelpers的一些代码示例,我看到的声明如下:
public static string HelperName(this HtmlHelper htmlHelper, ...more regular params )
Run Code Online (Sandbox Code Playgroud)
我不记得在其他地方看到过这种类型的构造 - 有人可以解释"这个"的目的吗?我认为通过声明一些公共静态意味着该类不需要实例化 - 所以在这种情况下什么是"this"?
在我工作的承包商使用extension methods来实现CRUD上,我们拥有知名的内部类.我说最好使用正常结果inheritance,extension methods原因如下.
CRUD方法的来源.extension methods大量使用reflection(速度较慢).他的逻辑是,"它已编译,所以它很快." 也许我错了......但是因为它被编译并不意味着它不使用反射,也不意味着它比正常继承更快.
所以我的问题是:
extension methods在引擎盖下工作?inheritance或extension methods使用WELL-KNOWN类是否更好?