1

C#では、次の方法を見つけたいと思います。

(cast_by_variable)some_class.some_method();

そこで、どういうわけか、子クラスの型を判別し、その情報を変数に格納して、親クラスがキャストを使用するときにそれを使用したいと思います。

4

3 に答える 3

0

あなたが提案しているようなc#での直接のランタイムキャストはありませんが、この問題の回避策があります。次のことができます。

Type t = some_class_obj.GetType();
object result =t.GetMethod("some_method").Invoke(some_class_object,new object[]{parameter1,parameter2});
于 2012-12-26T08:42:11.410 に答える
0
Object obj;

 if (some_class is Class1) 
      {
          obj = (Class1)some_class;
         // do something with obj
      }
于 2012-12-26T07:35:20.853 に答える
0

オブジェクトをキャストしても型は変わらないので、いつでも決定できます

some_class.GetType();

Type type = some_class.GetType();
于 2012-12-26T08:34:18.530 に答える