Я изучаю несколько разных фрагментов кода, чтобы получить лучшее понимание, и мне могли бы пригодиться некоторые полезные объяснения - Документы и другие источники на самом деле не дают мне этого понять.
Некоторые методы взяты из некоторых DI и не обязательно актуально (я думаю, насколько я знаю это причина использования одного типа возврата вместо другого, и в этом случае я буду признателен за объяснение). Вот несколько различных фрагментов, которые, я надеюсь, сообщество поможет мне лучше понять, «почему» использование одного возвращаемого типа вместо другого (или мне следует просто придерживаться одного типа, поскольку это не повлияет на результат что делается).
Первое:
Код: Выделить всё
public void OnGet()
{
ServicesContainer = _helper
.GetRecentContentItemsByContentTypeAsync("Services")
.GetAwaiter()
.GetResult()
.SingleOrDefault();
ServicesList = _helper
.GetRecentContentItemsByContentTypeAsync("Service")
.GetAwaiter()
.GetResult()
.OrderByDescending(c => c.CreatedUtc)
.Take(3);
}
Во-вторых:
Код: Выделить всё
public async Task OnGetAsync(string projectTitle)
{
Project = _helper
.QueryContentItemsAsync(q => q
.Where(c => c.DisplayText == projectTitle))
.GetAwaiter()
.GetResult()
.SingleOrDefault();
var relatedProjects =
(IEnumerable)Project?
.Content
.Project.RelatedProjects?
.ContentItemIds?.ToObject();
if (relatedProjects?.Count() > 0)
{
RelatedProjects = await
_helper.GetContentItemsByIdAsync(relatedProjects);
}
}
Третье:
Код: Выделить всё
public async Task OnGet()
{
HeaderInfo = await _helper
.GetContentItemByAliasAsync("alias:fullwidth");
return Page();
}
Ни в одном из элементов нет ничего особенного — все они хранятся на CMS (например, в них нет ничего динамического) . Первый — контейнер с элементами списка. Второй — элемент с потенциально связанными элементами (если они существуют в CMS, а их нет). Третий – это всего лишь один элемент.
И зачем использовать void в первом, а не в остальных?
Подробнее здесь: https://stackoverflow.com/questions/530 ... o-use-them