【发布时间】:2019-03-20 03:22:15
【问题描述】:
所以我正在尝试访问表单 1.cs 中的任务表单 program.cs,但我找不到在任何地方都可以使用的方法。这是我想要的一个例子:
program.cs
private async void ConsoleSendMessage()
{
Console.WriteLine("Select the guild:");
var guild = GetSelectedGuild(_client.Guilds);
var textChannel = GetSelectedTextChannel(guild.TextChannels);
var msg = string.Empty;
while (msg.Trim() == string.Empty)
{
Console.WriteLine("Your message:");
msg = Console.ReadLine();
}
await textChannel.SendMessageAsync(msg);
}
然后我希望能够在form1.cs 中运行该任务
【问题讨论】:
-
这个方法是
async void,这是一个非常糟糕的主意。这意味着您不会等待代码完成,并且此代码引发的任何错误都不会返回到调用代码,这意味着您不会知道它没有正确执行。除非您在少数情况下(例如框架事件处理程序),否则不要使用async void。使用async Task。 -
discord.net 必须是这样才能正常工作
-
不,不是。你为什么这么认为?
-
好吧,现在是
private void ConsoleInput(),但我仍然不知道如何从program.cs访问所有任务/功能 -
你不能,如果方法是私有的。 Private 的意思是“只有这个类可以看到它”。你应该了解access modifiers。
标签: c# .net discord.net