使用扩展方法,我们可以编写方便的LINQ运算符来解决泛型问题.
我想System.Linq知道命名空间中缺少哪些方法或重载以及如何实现它们.
可能使用现有方法的清洁和优雅的实现是首选.
我有一组扩展方法,我经常用于各种UI任务.我通常将它们定义为运行类型object,即使在它们内部我通常将它们转换为字符串类型.
public static string FormatSomething(this object o)
{
if( o != null )
{
string s = o.ToString();
/// do the work and return something.
}
// return something else or empty string.
}
Run Code Online (Sandbox Code Playgroud)
我使用类型object而不是使用类型的主要原因string是<%#Eval("Phone").ToString().FormatSomething()%>在我可以做的时候将自己保存在UI中<%#Eval("Phone").FormatSomething()%>.
那么,从性能的角度来看,创建所有扩展方法是否正常object,或者我应该根据扩展方法的作用将它们转换为string(或相关)类型?