C# のメソッド グループとは何ですか? 質問する

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

しかし、メソッド グループとは何なのか疑問に思いました。グーグルあまり役に立たないしマイクロソフト

ベストアンサー1

メソッド グループは、メソッドのセット(1 つのメソッドのみの場合もあります)の名前です。つまり、理論上はToString、メソッドには複数のオーバーロード (および任意の拡張メソッド) がある場合があります (、など)。ToString()したがってToString(string format)ToStringそれ自体は「メソッド グループ」です。

通常、オーバーロード解決を使用してメソッド グループを (型指定された) デリゲートに変換できますが、文字列などには変換できません。これは意味がありません。

括弧を追加すると、オーバーロード解決が開始され、メソッド呼び出しが明確に識別されます。

おすすめ記事