Привет!
Нужно было сделать List для generic класса. Сделал вот так
public abstract class ValueBase
{
public abstract Type GetValueType();
}
public class Value<T>:ValueBase
{
public bool CheckValue(T value)
{
.....
return res;
}
public override Type GetValueType()
{
return typeof(T);
}
}
//Использование
private List<ValueBase> m_Keys = new List<ValueBase>();
public void Set(float value)
{
var floatValues = from suppValue in this.m_Keys
where suppValue.GetValueType().Equals(typeof(float))
select suppValue as Value<float>;
foreach (Value<float> suppValue in floatValues)
{
if (!suppValue.CheckValue(value))
{
.......
}
}
}
Насколько это плохо?? Или может быть есть какой нибудь другой способ??
Спасибо