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