No overload for method 'ToString' takes 1 argument
メッセージがToString
は引数を取らないことを示すで明らかであるを使用する必要があります。おそらく(以下コード内のコメントに注意してください)これに似た何かをしようとしている。
using System;
public class Program
{
public static void Main()
{
var sc = new SomeClass();
sc.ToString(); // works
// does not work because SomeClass does not have a ToString method
/// which takes one parameter
sc.ToString("whatever");
}
}
public class SomeClass
{
}
上記のコードでは、SomeClass
はToString
メソッドを持っていませんが、デフォルトではすべてのクラスがありObject
クラスを派生しますToString()
方法。したがって、ToString()
(引数なし)を呼び出すと、そのメソッドはObject
から継承されるため、機能します。ただし、ToString("WithArgument")
を呼び出すと機能しなくなり、結果として例外が発生します。あなただけMatt
または他の文字列を返すようにしたい場合は、単純に次の操作を行います。
return "Matt"; // or anything else
デフォルトの 'ToStringメソッド()' object'が過負荷を持っていない 'から。マットを返すだけです。 –
ToStringには 'int.ToString()'のように文字列に変換する型が必要です – Ben
'int.ToString()'はありません。 'Convert.ToString(intvariable)'または 'intvariable.ToString()'でなければなりません。 'string'から' bool'への変換が無効になったので、あなたのメソッドが返す型を確認してください。 –