用哪个匹配方法
Console.WriteLine();
Console.WriteLine("Cast to base object");
WriteMessage((MyBase)d);
Console.WriteLine();
}
}
因此当你想支持某一类及其所有派生类时,基于基类创建泛型并不是最好的选择。同样的,基于接口也是如此。
那么我想针对,这时就需要通过运行时来判断了,当然,这并不是最好的解决方案,虽然对调用者屏蔽了具体的实现,但同时会带运行时检查的开销。
view sourceprint Static void WriteMessage(T obj){
If(obje is MyBase){
WriteMessage(obj as MyBase); //显式类型转换
}else {
Conslole.Write(“Invoke WriteMessage”)
}
}