спасибо за эту информацию изнутри.

ростой универсальный тип с уникальным универсальным параметром, ограниченным ссылочными типами:

class A<T> where T : class
{
    public bool F(T r1, T r2)
    {
        return r1 == r2;
    }
}

СгенерированныйИллинойс от csc.exe это:

ldarg.1
box        !T
ldarg.2
box        !T
ceq

Таким образом, каждый параметрв штучной упаковке прежде чем приступить к сравнению.

Но если ограничение указывает, что «T» никогда не должен быть типом значения,почему компилятор пытается установитьr1 а такжеr2 ?

Ответы на вопрос(0)

Ваш ответ на вопрос