小编典典

C# 中的方法组是什么?

all

在以下情况下,我经常遇到诸如“无法从’方法组’转换为’字符串’”之类的错误:

var list = new List<string>();
// ... snip
list.Add(someObject.ToString);

当然,最后一行有一个错字,因为我忘记了后面的调用括号ToString。正确的形式是:

var list = new List<string>();
// ... snip
list.Add(someObject.ToString()); // <- notice the parentheses

但是我开始想知道什么是方法组。Google没有太多帮助,也没有MSDN


阅读 135

收藏
2022-03-24

共1个答案

小编典典

方法组是一 组方法 (可能只是一个)的名称 -
即理论上该ToString方法可能有多个重载(加上任何扩展方法):ToString(),ToString(string format)等 -
因此ToString它本身就是一个“方法组”。

它通常可以通过使用重载解析将方法组转换为(类型化的)委托 - 但不能转换为字符串等;这没有意义。

再次添加括号后;重载决议开始了,你已经明确地确定了一个方法调用。

2022-03-24