Общий список общих объектов
Позволять'скажем, у меня есть объект, который представляет поле данных, этот объект нуждается в следующих свойствах: имя, тип, значение, длина. Вот объект:
class Field
{
public string Name { get; set; }
public Type Type
{
get
{
return typeof(T);
}
}
public int Length { get; set; }
public T Value { get; set; }
}
Я использовал дженерики, потому что я хочу, чтобы пользователь кода мог назначать только значение определенного типа.
Теперь проблема в том, когда я хочу создать список полей.
Если я создам список, какList
тогда мы можем присвоить любое значение данному полю в списке, и когда мы запрашиваем тип, мы получаем 'объект».
Дело в том, что в этом списке мне может понадобиться несколько полей со строками, несколько целых, даты и даже пользовательские объекты, у которых, в свою очередь, будет список полей ...
Является ли Generics хорошим решением для чего-то подобного? Если да, как бы я это реализовал? Если нет, что лучше?
---РЕДАКТИРОВАТЬ---
Просто чтобы добавить немного фона:
1. Я мог бы хотеть список полей, и каждое поле будет содержать различный тип данных, например так:
List lst = new List();
lst.Add(new Field());
lst.Add(new Field());
lst.Add(new Field());
2. Позже мне придется запрашивать эти объекты и их атрибуты автоматически в цикле, что-то вроде этого:
foreach(Field fld in lst)
{
Type t = fld.Type;
//do some other stuff
}