为游戏制作模型,并且我总是试图获得角色的名字,当它产生时,马特。
但是,这对我来说并不顺利。尽管我自己解决了无数问题,但我找不到解决这个错误的方法:
方法没有超载' ToString'需要1个参数
以下是代码:
switch (WorldGen.genRand.Next(0))
{
case 0:
return ToString("Matt");
}
答案 0 :(得分:1)
ToString
是virtual
类的Object
方法。可用于将类型转换为字符串。所以你试图使用的方式是不正确的。将代码更改为此。此外,“Matt”已经是字符串格式,因此您无需转换它。如果您的方法返回字符串类型,那么您应该使用
switch (WorldGen.genRand.Next(0))
{
case 0:
return "Matt";
}
由于
答案 1 :(得分:0)
方法'ToString'没有重载需要1个参数
该消息清楚表明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