Hierarchies (passing class subtypes):
Demo:
struct S {}
class C {}
typeof(ValueType).IsAssignableFrom(typeof(S));
typeof(object).IsAssignableFrom(typeof(S));
typeof(ValueType).IsAssignableFrom(typeof(C));
typeof(object).IsAssignableFrom(typeof(C));
user166390
source
share