使用對象類型上的開關真的是調用存儲對類對象的引用的常用函數的主要方法?它不一定是'對象'值類型。c#:調用從對象[]數組中存儲對類對象的引用的常用方法
using System;
public class MainClass { public void Main() { print "hello world"; } }
public class SubClassOne : MainClass { }
public class SubClassTwo : MainClass { }
public class Storer
{
public void Main() {
object[] objects = new object[2];
objects[0] = new SubClassOne();
objects[1] = new SubClassTwo();
for(i=0;i<2;i++)
{
switch(objects[i].GetType().ToString())
{
case: "SubClassOne":
SubClassOne subclass = objects[i];
subclass.Main();
break;
case: "SubClassTwo":
SubClassTwo subclass = objects[i];
subclass.Main(); //Could probably call after the switch
break;
}
}
}
}
注意:代碼沒有被解析,所以可能會有嚴重的錯誤。
爲什麼不使用MainClass [] objects = new MainClass [2]'? – wudzik
當它真的存儲MainClass時,我能夠向它添加子類嗎?從未嘗試過。 – Pendrokar
'SubClassTwo'正在擴展'MainClass',所以你可以在不投射的情況下使用它作爲'MainClass'。使用'objects [0] .Main()'是有效的 – wudzik