【发布时间】:2010-11-22 08:04:09
【问题描述】:
我有一个问题。在框架中,这主要是在泛型出现之前编写的,你经常看到一个函数有很多重载来做不同类型的事情。
a)
Parse(int data)
Parse(long data)
Parse(string data)
..etc
这似乎没问题,因为它有助于使每种方法的代码保持较小等等。另一方面,现在使用泛型您可以执行以下操作:
b)
Parse<T>(T data)
然后有一些带有 typeof() 的 ifs/switch 语句来尝试推断类型是什么以及如何处理它们。
什么是最佳实践?或者有什么想法可以帮助我在 a) 和 b) 之间做出选择?
【问题讨论】:
-
最佳实践是:当您实现将泛型应用于任意多种类型的东西时,使用generics。当您有特定数量的备选方案时使用重载。
标签: c# .net vb.net generics overloading