2
有多種方法可以使用標準方法的簽名作爲擴展名的擴展方法(沒有顯式地吸引靜態類)?例如:擴展方法替換C#中的標準方法
public class Foo
{
public override string ToString()
{
return "Own";
}
}
public static class ExtensionsMethods
{
public static string ToString(this Foo foo)
{
return "Extensions";
}
}
class Program
{
static void Main()
{
var foo = new Foo();
Console.WriteLine(foo.ToString()); // "Own" will be printed
}
}
我可以使用擴展 - ToString
版本沒有明確呼籲類ExtensionsMethods
沒有違法意圖,但你可以回答這個問題。檢查擴展方法msdn文檔。如果存在具有相同簽名的另一種方法,則不會調用它,直到可以調用現有方法爲止。擴展方法在被調用時獲得最低優先級。 –