Проблема синтаксиса общего типаC#

Место общения программистов C#
Ответить
Anonymous
 Проблема синтаксиса общего типа

Сообщение Anonymous »

У меня есть метод с некоторыми параметрами общего типа; T, U, V. Я использую его с другим вспомогательным методом getApiresponseSync () для загрузки всех страниц записей с конечной точки API в нижнем потоке, в которой включено пейджинга, понижает ответы JSON и сопоставление их в агрегированный список новых объектов Лучше подходит для веб -сайта Front End Этот API служит. < /p>
't' представляет тип назначения объектов, как только они сопоставлен. Объекты в свойстве «данные» в классе «U». У классов u всегда будет свойство данных о списке типов , потому что они наследуют от FabricListresponse , что определяет свойство этого типа в определении класса.
Я хочу удалить параметр общего типа 'v' из getallpagesasync , потому что общий тип для FabricContactsResponse указан в определении класса, поэтому я чувствую, что я повторяю сам. Но я не уверен, как это сделать без создания синтаксических ошибок ... < /p>
public async Task GetAccountContactsAsync(string accountId, ILogger log)
{
var contacts = await GetAllPagesAsync($"/v1/account/{accountId}/contacts", log);

var response = new ContactsResponse
{
Contacts = mapper.Map(contacts)
};

return response;
}

private async Task GetAllPagesAsync(string endpoint, ILogger log)
where T : class
where U : FabricListResponse
where V : class
{
var contacts = new List();
U fabricApiResponse;
var page = 1;

do
{
fabricApiResponse = await apiService.GetAPIResponseAsync(endpoint, page, log);
contacts.AddRange(mapper.Map(fabricApiResponse.Data));
page++;
} while (fabricApiResponse.TotalPages > fabricApiResponse.CurrentPage);

return contacts;
}

public class FabricContactsResponse : FabricListResponse;
public class FabricContactDTO : FabricContactResponse;


Подробнее здесь: https://stackoverflow.com/questions/794 ... ntax-issue
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»