Hello, I don't know if I'm missing something here (about your library or Roslyn), but until know I had compared all class types by equality:
classType1 = // some code which returns IClass
classType2 = // some other code which returns IClass
if classType1 == classType2
}} same {{
end
However if I have a class like this in C#:
public class Base<T>{}
public class Derived : Base<Derived>{}
This does not work:
classType = // some code which returns IClass = Derived
if classType.BaseType.IsGeneric && classType.BaseType.TypeArguments[0] == classType
}} same {{
end
So apparently Derived and its parent generic argument Derived are different types, why?
Hello, I don't know if I'm missing something here (about your library or Roslyn), but until know I had compared all class types by equality:
However if I have a class like this in C#:
This does not work:
So apparently Derived and its parent generic argument Derived are different types, why?