Шаблонная функция C#

548
18 июня 2017, 15:13

Требуется реализовать шаблонную функцию сложения на C#

Нужно разливать эту функцию из C++ на C#

template<typename T>
T sum(T a, T b)
{
    return a + b;
}

Вот эта запись выдает ошибку что операция сложения не перегружена над типом Т

public static T sum<T>(T a, T b)
{
    return a + b;
}
Answer 1
public static T sum<T>(T a, T b)
{
    dynamic da = a, db = b;
    return da + db;
}
Console.WriteLine(sum(10, 20)); //30
Answer 2

К сожалению такого же элегантного способа в C# нет, так как в этом языке для обобщений не предусмотрены ограничения по наличию оператора. В качестве несколько неуклюжей альтернативы можно предложить разве что написание обобщённых методов, заменяющих операторы, таких, как Add, Multiple и тд

READ ALSO
Не работает приведение типов по индексу в массивах?

Не работает приведение типов по индексу в массивах?

Не работает приведение типов по индексу в массивах, выдает ошибку, что нет явного приведения типов, хотя я его указал:

355
По нажатию Button отключить свойство Form1 Resize

По нажатию Button отключить свойство Form1 Resize

В Form1_Resize есть функции которые меняют вид компонентов при изменении размера формы/фреймаКак по нажатию на Button отключить Form1_Resize чтобы его...

275
как добавить в список определенное кол-во вещей

как добавить в список определенное кол-во вещей

как добавить в список определенное кол-во вещей

255
Почему не видит пространство имён?

Почему не видит пространство имён?

Это пространство имён существуетДо этого работало

431