`
ribishuangba
  • 浏览: 290698 次
文章分类
社区版块
存档分类
最新评论

Tip - 小心:泛型方法重载非泛型方法

 
阅读更多

今天发现有段代码没有返回预计结果,该代码使用了另一个同事写好的一个类:

public class ServiceResponse<T>
{

public ServiceResponse(T _result){..}

public ServiceResponse(string _errorMessage){..}

...

}

该类构造方法有多个重载,其中有一个泛型构造方法,当T 类型为string时,程序总是调用的那个非泛型方法,问题由此产生。当泛型方法重载了非泛型方法时,C#/VB.NET编译器总是选择那个非泛型方法!

http://blogs.msdn.com/jaredpar/archive/2008/04/14/gotcha-generic-overload-resolution-when-called-generically.aspx

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics