开始聊聊C#泛型和委托(一)(二)

2014-11-23 22:19:27 · 作者: · 浏览: 18
用哪个匹配方法

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”)

}

}