Установка свойства SyndicationItem Categories

Я работаю с SyndicationItem класс и нашли Categories имущество.

Согласно документации это свойство не имеет установщика, однако я обнаружил, что могу написать в свойство, т.е.

var syndicationItem = new SyndicationItem
{
    Categories = { new SyndicationCategory("Category name") }
};

Теперь, это не достаточно хорошо, так как я не могу перечислить свои ценности таким образом. Если я сделаю что-то подобное

var categoryCollection = new Collection<SyndicationCategory>();

var syndicationItem = new SyndicationItem
{
    Categories = categoryCollection
};

Categories собственность все испортила и говорит мне, что нет сеттера.

Что мне не хватает?

1 ответ

Документация и компилятор правы - Categories свойство не имеет сеттера.

Первый пример, который вы опубликовали, не присваивает новое значение Categories имущество. Он получает существующее значение и вызывает метод Add для добавления каждого SyndicationCategory вы указываете в инициализаторе.

Вам нужно будет добавить категории в существующую коллекцию:

var syndicationItem = new SyndicationItem();
Collection<SyndicationCategory> categoryCollection = GetCategories();
foreach (var category in categoryCollection)
{
    syndicationItem.Categories.Add(category);
}
Другие вопросы по тегам