我有一個產生此編譯器錯誤的一些代碼: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