コード書けばすぐわかる事なんですが is 演算子の挙動の話です。 is 演算子は複数の型で true になる可能性があります。 親子関係がある型で厳密に型を判定したい場合、GetType() と typeof を使います。 // こんなクラスがあったとして、、 public class BaseClass { } public class DerivedClass_1 : BaseClass { } public class DerivedClass_2 : BaseClass { } // こんなコードを書いたとすると結果がコメントのようになります static void Main(string[] args) { BaseClass test = new DerivedClass_1(); // is演算子による型判定 Console.WriteLine("test is BaseCl