I have this code in an if statements which evaluates to false and I don't have any clue why
&& (typeof(TResponse).Equals(typeof(MediatorResponse)))
used Equals as I intend to compare by reference
I tried to put them in watch and this is my clue

typeof(TResponse) seems to be a MediatorResponse'1 while typeof(MediatorResponse) seems to be a MediatorResponse are these 2 still of the same type?
Why does visual studio put 1 on the other?
C# allows you to have different types with the same name if one or more and generic, and if the generic types have a different number of generic arguments. For example, the following are all different types:
The backtick character followed by a number is used on generic types to generate a unique name, and indicate the number of generic arguments the type has. So in the above example the names would be: