public class Dog : Animal { public string name { get; set; } } public class Animal { public string id { get; set; } } public class Main { public void Main() { Dog aa = new Dog { name = "狗", id = "動物" }; CheckClass(aa); } public void CheckClass<T>(T entity) { bool re1 = typeof(Animal).IsAssignableFrom(typeof(T)); //返回true的條件是Dog類直接或間接的實現了Animal類; bool re2 = typeof(T).IsSubclassOf(typeof(Animal)); //返回true的條件是Dog類是Animal的子類 var id = (entity as Animal).id; } }