C#3.0新特性 扩展方法

• 扩展方法(Extension method),可以对现有类功能进行扩充,从而使该类型的实例具有更多的方法(功能)。
• Extension Method仅仅是看起来像是一个类型的方法,但其实质上不是,它更像是静态类型的静态方法,事实上,它确实拥有静态方法所具有的所有功能
• Extension Method的作用域是整个namespace可见的,并且可以通过using namespace来导入其它命名空间中的Extension Method

举例:
namespace  My.Helpers
{
    
public static class CSSExtension
    
{
        
public static string CSSList(this HtmlHelper helper, ViewData viewData)
        
{
            
return string.Empty;
        }

    }


    
public class MyProgram
    
{
        
public void Execute(ViewData viewData)
        
{
            HtmlHelper helper 
= new HtmlHelper();
            helper.CSSList(viewData);
        }

    }

}


namespace  MyNamespace
{
    
using My.Helpers;

    
public class MyProgram
    
{
        
public class MyProgram
        
{
            
public void Execute(ViewData viewData)
            
{
                HtmlHelper helper 
= new HtmlHelper();
                helper.CSSList(viewData);
            }

        }

    }

}

你可能感兴趣的:(新特性)