Как написано, ваш асин c метод вернул бы void
, если бы он не был асин c. Но его можно переписать так, чтобы он возвращал экземпляр apiStuff
, чтобы другие методы (и другие классы) могли получить этот экземпляр apiStuff
и использовать его:
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;
public class MainClass
{
public static async Task<apiStuff> Main()
{
using (var client = new HttpClient())
{
string url = "webapilink goes here";
var response = await client.GetStringAsync(url);
apiStuff variableName =
JsonConvert.DeserializeObject<apiStuff>(response);
return variableName;
}
}
}
public class SecondClass
{
public static async Task GetApiStuff()
{
apiStuff variableName = await MainClass.Main();
// do more work with variableName
}
}
public class apiStuff { /* defined elsewhere */ }
Если это не то, что Вы спрашивали о, пожалуйста, уточните в исходном вопросе. (И я предполагаю, что метод на самом деле не назван Main
- это может сбить с толку.)