1

是否可以重载扩展方法?

我做了这样的事情

    public static ExcelWorksheet CreateSheet(this ExcelPackage thisPackage, List<Document> list)
    {
        ExcelWorksheet worksheet = thisPackage.Workbook.Worksheets.Add("Documents");
        return worksheet;
    }
    public static ExcelWorksheet CreateSheet(this ExcelWorksheet thisPackage, List<Book> list)
    {
        ExcelWorksheet worksheet = thisPackage.Workbook.Worksheets.Add("Books");
        return worksheet;
    }

在这种情况下,它仅将第一种方法识别为扩展方法,并忽略第二种方法,而不会出现任何编译器警告或错误。

4

1 回答 1

2

您不会在此处重载,因为扩展方法位于不同的对象上,ExcelPackage并且ExcelWorksheet. 不过,重载扩展方法可以接受的。

于 2012-06-12T09:15:39.447 回答