c#新特性-------扩展方法
2012-09-11 14:25
316 查看
1.扩展方法是用来为现有类型提供添加方法,以扩展现有,类型,这些类型可以是基本数据类型(如int,string等),也可以自己定义类型。
2.而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。对于用 C# 和 Visual Basic 编写的客户端代码,调用扩展方法与调用在类 型中实际定义的方法之间没有明显的差异。
3.扩展方法是通过指定关键字this修饰方法的第一个参数而声明的。扩展方法只可以声明在静态类中。
public class Staff
{ private string _name;
private string _position;
public string Name
{ get
{ return _name; }
set
{ _name = value; }
} public string Position
{ get
{ return _position; }
set { _position = value; }
}
}
public static class Extention
{ public static string TestMethoed(this Staff s)
{ return s.Name + ":" + s.Position;
}
}
}
//调用扩展方法
Staff s=new Staff();
string str=s.TestMethod();
2.而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。对于用 C# 和 Visual Basic 编写的客户端代码,调用扩展方法与调用在类 型中实际定义的方法之间没有明显的差异。
3.扩展方法是通过指定关键字this修饰方法的第一个参数而声明的。扩展方法只可以声明在静态类中。
public class Staff
{ private string _name;
private string _position;
public string Name
{ get
{ return _name; }
set
{ _name = value; }
} public string Position
{ get
{ return _position; }
set { _position = value; }
}
}
public static class Extention
{ public static string TestMethoed(this Staff s)
{ return s.Name + ":" + s.Position;
}
}
}
//调用扩展方法
Staff s=new Staff();
string str=s.TestMethod();
相关文章推荐
- 不能不说的C#特性-扩展方法
- C# 3.0新特性初步研究 Part2:使用扩展方法_C#教程
- C# 3.0新特性之扩展方法
- C#2008新特性--(扩展方法)Extension Method
- C# 3.0 特性之扩展方法
- C# 3.0新特性初步研究 Part2:使用扩展方法_C#教程
- C# 3.0新特性之扩展方法
- C# 3.0 新特性:扩展方法初探
- C# 3.0新特性初步研究 Part2:使用扩展方法
- [C#] 合理利用扩展方法的“污染”特性
- 3、步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)、Object Initializers(对象初始化器)、Collection Initializers(集合初始化器)和Extension Methods(扩展方法)
- 步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)、Object Initializers(对象初始化器)、Collection Initializers(集合初始化器)和Extension Methods(扩展方法)
- C# 3.0新特性之Automatic Properties(自动属性)、Object Initializers(对象初始化器)、Collection Initializers(集合初始化器)和Extension Methods(扩展方法)
- C# 3.0 新特性 学习(二):匿名类型、扩展方法
- 委托是什么?匿名方法是什么?在C# 3.0中,Lambda表达式是什么?扩展方法是什么?LINQ是什么?您觉得C# 3.0中还有哪些重要的特性,它们带来了什么优势?BCL中哪些类库和这些特性有关?您平时最常用哪些
- C# 3.0 新特性:扩展方法初探
- C# 3.0新特性之扩展方法
- C#3.0新特性:扩展方法
- VS 2008 + .NET 3.5 - C# 3.0新特性之Automatic Properties(自动属性)、Object Initializers(对象初始化器)、Collection Initializers(集合初始化器)和Extension Methods(扩展方法)
- 一个例子帮你搞懂C#语言高级特性系列(03) --- 方法扩展