reflection - Why is my C# IS statement not working? -


i have following code, t generic defined such:

public abstract class repositorybase<t> t : class, idatamodel 

this code works fine:

propertyinfo propertyinfo = typeof(t).getproperty(propertyname); if (propertyinfo.declaringtype.fullname == typeof(t).fullname)  <--- works fine 

vs code evaluates false

propertyinfo propertyinfo = typeof(t).getproperty(propertyname); if (propertyinfo.declaringtype t) <-- not work 

what doing wrong here?

is uses type comparison between 2 objects. declaringtype of type type , typeof(t) of type t, not equal.

var atype = typeof(propertyinfo.declaringtype); var btype = typeof(t); bool areequal = atype btype; // false, unless t type 

Comments

Popular posts from this blog

c# - How Configure Devart dotConnect for SQLite Code First? -

java - Copying object fields -

c++ - Clear the memory after returning a vector in a function -