我有2个类,一个包含函数,然后一个包含命令,我对此还很陌生,无法弄清楚如何调用该函数。
这是我要调用的功能
private async Task<long> GetMemberId(string members)
{
long memberID = 0;
HttpResponseMessage response = await client.GetAsync(StaticObjects.bungieBasePath
+ $@"/GroupV2/Name/{memberID}/1/");
if (response.IsSuccessStatusCode)
{
try
{
dynamic content = response.Content.ReadAsAsync<ExpandoObject>().Result;
Debug.WriteLine(await response.Content.ReadAsStringAsync());
}
catch
{
throw new ArgumentException("The member could not be found.");
}
}
else
{
throw new ArgumentException("An error occurred retrieving the members information.");
}
return memberID;
}
然后这是命令
[Command("invite")]
[RequireContext(ContextType.Guild, ErrorMessage = "This command is specific to a particular server so you must send it from a channel within that server")]
public async Task SendInviteAsync()
{
await Context.Channel.TriggerTypingAsync(new RequestOptions() { Timeout = 30 });
if (!Context.IsPrivate) await Context.Message.DeleteAsync();
if (StaticObjects.CheckUserIsAdmin(Context))
{
//command to call the memberid function
}
}
答案 0 :(得分:0)
GetMemberId
是一个私有函数,只能在其类中使用。您需要将其公开,然后从另一个类中调用它,如下所示:
if (StaticObjects.CheckUserIsAdmin(Context))
{
var class = new firstClass();
var memberId = class.GetMemberId(members);
}