RestSharp имеет встроенные методы для выполнения асинхронного шаблона на основе задач (TAP).Это вызывается с помощью метода RestClient.ExecuteTaskAsync<T>
.Это даст вам ответ, и свойство response.Data
будет иметь десериализованную версию вашего универсального аргумента (в вашем случае rootUser).
public async Task<string> GetSignInName (string id)
{
RestClient client = new RestClient("https://graph.windows.net/{tenant}/users");
RestRequest request = new RestRequest($"{id}");
request.AddParameter("api-version", "1.6");
request.AddHeader("Authorization", $"Bearer {token}");
var response = await client.ExecuteTaskAsync<rootUser>(request);
if (response.ErrorException != null)
{
const string message = "Error retrieving response from Windows Graph API. Check inner details for more info.";
var exception = new Exception(message, response.ErrorException);
throw exception;
}
return response.Data.Username;
}
Обратите внимание, что rootUser
не подходит длякласс в C #.Наше обычное соглашение - использовать имена классов PascalCase, поэтому это должен быть RootUser.