您的位置:首页 > 编程语言

一个小小的代码重构

2009-03-08 01:13 232 查看
自从C#3.0的扩展方法出来后,在我做的框架里的曾经的类似XXXUtil的类,全部可以用扩展方法来实现了。而且原来的调用方式依然兼容。举例来说:

public static Object[] ArrayListToObjectArray(this ArrayList al)
其实,我就在方法要扩展的对象加this,而我本身我的类StringUtil本身又是static的,所以两种调用方式兼容。
用法一:(注意,这是扩展方法用法) 
[TestMethod]
public TestResult Test() { 

    var al = new ArrayList {"Lihua", 26}; 

    var s = al.ArrayListToStringArray(); 

    if (s.Length == 2 && s[0] == "Lihua" && s[1] == "26")  {

        return TestResult.Pass; 

    } 

    return TestResult.Fail; 

}

用法二:(原始用法)
[TestMethod] 
public TestResult Test() { 

    var al = new ArrayList {"Lihua", 26}; 

    var s = StringUtil.ArrayListToStringArray(al); 
    if (s.Length == 2 && s[0] == "Lihua" && s[1] == "26") { 

         return TestResult.Pass; 

    } 

    return TestResult.Fail; 


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  扩展 object 框架 c#
相关文章推荐