过度使用generics
当没有真正的好处是显而易见的时候,人们如何看待generics的使用。 下面是一个示例代码片段,类似于我正在处理的代码,我试图确定如果使用generics有什么好处。
public void DoSomething(Request request) { if (request == null) { throw new ArgumentNullException("request"); } if (Request is ISomeInterface) { DoSomething(); } else { DoSomethingElse(); } }
你为什么不只使用Object?
引自: C#:System.Object vs Generics
使用object == cast操作和装箱/取消装箱的值类型。 由于这些原因,仿制药更快更优雅(无铸造)。 并且 – 主要原因是,您不会使用generics获得“InvalidCastException”
所以,generics==速度和编译时错误。 对象==运行时exception,速度较低(有时低很多)
- 如何在任务抛出exception而不等待终结器时使应用程序崩溃
- 如何检测另一个音频是否在后台播放? (Windows Phone 7)
- 如何在MVC Html.DropDownList()中添加静态项目列表
- 一个具有多个IEnumerable 接口的类 – 如何处理非generics方法?
- 获取异步方法体中的当前Task实例
- 为什么在webservice中的方法在c#中返回Arraylist时发生exception?
- 比较和对比来自Telerik的NHibernate和OpenAccess
- 如何使用tabindex将焦点发送到C#windows窗体应用程序中低于当前控件的控件?
- 任何免费的C#库用于video录制(屏幕)周围?