C#中的方法组是什么?

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

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的帮手。

回答:

方法组是一个名称 的一套方法 (可能是只有一个)

-即理论上的ToString方法可以有多个重载(加任何扩展方法)ToString()ToString(string

format)等-因此ToString本身是一个“方法组”。

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

一旦加上括号,再次;重载解析开始,您已经明确确定了方法调用。

以上是 C#中的方法组是什么? 的全部内容, 来源链接: utcz.com/qa/432526.html

回到顶部