Я должен принять решение между объектными и дженериками.дженерики или объектные?
У меня есть структура данных, и это может быть int, string или bool. Позже мне нужен список элементов, и я не уверен, должен ли я делать Item generic или удерживать значение в элементе как объекте.
public class Item<T>
{
private T value = default(T);
public Item(T value)
{
this.value = value;
}
public T Value
{
get { return this.value; }
set { this.value = value; }
}
}
или
public class Item
{
private Object value = null;
public Item(Object value)
{
this.value = value;
}
public Object Value
{
get { return this.value; }
set { this.value = value; }
}
}
На самом деле, я хотел бы использовать дженерики, но у меня были проблемы, получая тип переменной.
Item<T> item;
switch(type) // type is a string
{
case "int":
item = new Item<Int32>;
break;
case "string":
item = new Item<String>;
break;
case "bool":
item = new Item<Boolean>;
break;
}
У кого-нибудь есть совет для меня?
EDIT: Извините, я забыл один факт: мне нужно решить тип во время выполнения. Я получаю строковый ввод, которым я должен идентифицировать тип!
Если вы собираетесь сделать 'switch' на родовом _type_, вы могли бы также использовать дженерики. – Oded
Откуда берется тип? – svick
Вы хотите список, который может содержать 'Item' ** и ** 'Item ' или у вас будут только «чистые» списки, содержащие только один тип элементов (т. Е. Только «Item »)? –
ChrisWue