Можно создать дубликат:
Can’t operator == be applied to generic types in C#?Применяя «==» оператора обобщенного параметра
У меня есть класс DatabaseLookup {}, где параметр Т будет использоваться с помощью методов подстановки в класс. Перед поиском, я хочу посмотреть, был ли T уже поднят с чем-то вроде
if (T == previousLookupObject) ...
Это совсем не скомпилировано. Что мешает мне сделать такое простое сравнение?
Является 'T' ссылки на родовой тип или фактические переменный родовой. 'T' обычно используется как имя родового типа. Не объект, а тип. Попробуйте определить переменную типа 'T'. –
И затем используйте 'thisObject.Equals (previousLookupObject)' вместо '==' –