У меня есть один класс, который содержит два списка определенных пользователем типов, категории и атрибута. Я пытаюсь получить компонент Атрибута для ссылки на компонент категории.Список, ссылающийся на второй список в C#
Мой список Категория выглядит следующим образом
private static List<Category> GetCategories()
{
var categories = new List<Category> {
new Category
{
CategoryID = 1,
CategoryName = "Chip Life Cycle"
},
new Category
{
CategoryID = 2,
CategoryName = "Abstraction"
},
new Category
{
CategoryID = 3,
CategoryName = "Properties"
},
new Category
{
CategoryID = 4,
CategoryName = "Location"
},
};
return categories;
}
А вот мой список атрибутов. Каждый атрибут имеет идентификатор категории, я хочу, чтобы следующее, CategoryName могло смотреть в список категорий, находить соответствующий идентификатор категории и принимать имя категории. Как мне это сделать?
private static List<Attribute> GetAttributes()
{
var Attributes = new List<Attribute> {
new Attribute
{
AttributeID = 1,
AttributeName = "Specification",
Description = "Insertion",
ImagePath="one.png",
F_in = 0,
F_out = 3,
CategoryID = 1,
CategoryName = **WHAT HERE?**
},
new Attribute
{
AttributeID = 2,
AttributeName = "Design",
Description = "Insertion",
ImagePath="two.png",
F_in = 1,
F_out = 2,
CategoryID = 2,
CategoryName = **WHAT HERE?**
},
new Attribute
{
AttributeID = 3,
AttributeName = "Clock Grid",
Description = "Location",
ImagePath="thirty_three.png",
F_in = 16,
F_out = 0,
CategoryID = 4
CategoryName = **WHAT HERE?**
},
};
return Attributes;
}
Есть ли причина, по которой вы не просто ссылаетесь на «Категория» из «Атрибут»? –
Если ваш собственный класс 'Category' действительно имеет только два свойства, возможно, было бы лучше использовать' enum' вместо пользовательского класса? Создание 'enum' гарантирует, что' 1' всегда имеет один и тот же «цикл жизненных циклов», тогда как с вашей текущей реализацией вы могли бы последовательно создать два разных Раздела с одинаковыми идентификаторами и разными Именами. –
@OndrejTucny: Это кажется лучшим. Это похоже на схему реляционной базы данных, трансплантированную в C#. – recursive