Универсальные шаблоны - C# (188327)
Формулировка задачи:
Добрый день, вопрос касательно универсальных шаблонов, типов. Как мне внутри моего универсального шаблона указать, что T - является ValueType? Это нужно для того чтобы можно было нормально использовать LINQ запросы, такие например как Average(). И еще, хорошо бы предусмотреть, что T может быть Int16, а LINQ с этим типом не работает.
Вот чего мне пока удалось достичь:
public void Func<T>(List<T> _data) where T : struct
{
if (Enum.IsDefined(typeof(TypeCode), typeof(T).Name) == false)
{
return;
}
var _max = _data.Max();
// var _average = _data.Average();
}
public void f()
{
List<double> _data = new List<double>();
Random _random = new Random();
for (int i = 0; i < 100; i++)
_data.Add(_random.Next(0, 101));
Func<double>(_data);
}Решение задачи: «Универсальные шаблоны»
textual
Листинг программы
public <T extends Number> void Func(List<T> _data)