Search
Write a publication
Pull to refresh
0
0
Semyon Ivanov @inary-wrk

User

Send message

Можно немного поподробнее про текущие костыли

struct IOperationProvider<T>
{
    T Sum(T lhs, T rhs)
}

void SomeProcessing<T, TOperation>(...)
    where TOperation : IOperationProvider<T>
{
    T var1 = ...;
    T var2 = ...;
    T sum = default(TOperation).Sum(var1, var2);  // This is zero cost!
}

я правильно понимаю, что вместо struct IOperationProvider<T>, на самом деле, должен быть объявлен интерфейс, и совсем избавиться от виртуальных вызовов не получится?

Information

Rating
Does not participate
Registered
Activity