我有一个产生此编译器错误的一些代码:C#如何调用的东西从一个类的方法中
CS0236 A field initializer cannot reference the non-static field, method, or property 'PublicModule.rnd'
的代码如下,与错误的行标:
public class PublicModule : ModuleBase
{
Random rnd = new Random();
int value = rnd.Next(4,50); // <<<< Error is here
[Command("Ping")]
public async Task ping()
{
await ReplyAsync(Context.User.Mention + ", Pong!");
}
[Command("Hara")]
public async Task hara()
{
await ReplyAsync("Hara noi te iubim <3 .");
}
[Command("kek")]
public async Task kek()
{
await ReplyAsync(Context.User.Mention + ", kek");
}
[Command("Random")]
public async Task Dice()
{
await ReplyAsync(Context.User.Mention + " ur random number is : " + value);
}
}
我怎样才能从课堂上调用rnd.Next
?我在编码小白,我不知道我怎么能叫的东西从另一个类或函数等
您需要将'rnd.Next'放入函数体中。您不能在C#中的函数之外编写语句。在显示值之前,将'int value = rnd.Next();'语句移到'Dick()'中。 – Yatin
请尝试将代码放在问题中会更容易帮助 –
我建议您从阅读C#教程开始。有几十个初学者教程。 – itsme86