Re[2]: Roles in C# 9. Нужно?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 08.06.20 19:02
Оценка:
Здравствуйте, Sinclair, Вы писали:

interface IMonoid<T>
{
static T Zero{get;}
static T operator+(T t1, T t2)
static T operator*(T t1, T t2)
}

S>var c = MatrixMultiply<IntMulMonoid, IntAddMonoid, int>(a, b)


Я вот только не понял зачем IntMulMonoid, IntAddMonoid


role IntMonoid extednds int
{
public static int Zero = 0;
}

и достаточно всего

Ну или если результат не int добавить функцию приведения добавить в интерфейс

static   implicit operator <R> (T value);


И вызов соотвественно
var c = MatrixMultiply<IntMulMonoid,double>(a, b)
и солнце б утром не вставало, когда бы не было меня
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.