Обобщенные типы - C# (195222)
Формулировка задачи:
Я бы хотел написать подобную конструкцию:
где T - может быть как базовым, так и пользовательским типом, главное, чтобы он поддерживал operator*. Но, естественно, что такой код код не компилируется из-за того, что T не поддерживает умножение. Решение - чтобы T был унаследован от интерфейса, где умножение объявлено и использовать слово where. Однако в базовых типах нет интерфейса с этим оператором. Кстати, в базовых типах (например, double) вообще нет оператора "*", хотя их умножение возможно. Не могли бы Вы пояснить, как такое возможно и как решить мою проблему?
public class test<T> { public static T func(T t){return t*t;} }
Решение задачи: «Обобщенные типы»
textual
Листинг программы
public class Test<T> { public static T Function(T t) { var tValue = t as dynamic; return tValue * tValue; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д