1. ホーム
  2. c#

[解決済み] Java の isInstance() に相当する C# とは何ですか?

2023-03-18 16:54:18

質問

私が知っているのは isas に対して instanceof を使用することができますが、反射的な isInstance() メソッドはどうでしょうか?

どのように解決するのですか?

に相当するのは、Javaの obj.getClass().isInstance(otherObj) をC#で書くと以下のようになります。

bool result = obj.GetType().IsAssignableFrom(otherObj.GetType());

なお、JavaとC#はどちらも実行時型オブジェクト(Javaは java.lang.Class ≣ C# System.Type ) の obj (経由 .getClass().getType() )、Javaの isInstance はオブジェクトを引数にとりますが、C#の IsAssignableFrom は別の System.Type オブジェクトを期待します。