C#从另一个类调用函数

时间:2019-02-14 21:01:03

标签: c# discord.net

我有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
   }
}

1 个答案:

答案 0 :(得分:0)

GetMemberId是一个私有函数,只能在其类中使用。您需要将其公开,然后从另一个类中调用它,如下所示:

if (StaticObjects.CheckUserIsAdmin(Context))
{
    var class = new firstClass();
    var memberId = class.GetMemberId(members);
}