您不创建方法的扩展,而是创建扩展对象功能的方法。这些方法必须是静态的并且是静态类的一部分。它们必须有一个用this
关键字标记的参数来指示要扩展的对象。在您的情况下,您必须编写如下内容:
// the class must be static, I usually declare a class reserved for extension method.
// I mark it as partial so that I can put every method in the same file where I use it.
public static partial class Extension {
// This is the extension method; it must be static. Note the 'this' keyword before
// the first parameter: it tells the compiler extends the string[] type.
public static MyExtToLower( this string[ ] args ) {
// your code
}
}
请注意,您不能覆盖实例方法。尽管您可以拥有与实例方法具有相同签名的方法,但由于编译器绑定的方式,该方法将永远不会被调用。