C#中的扩展方法
扩展方法让大家很容易的向现有类型中添加方法(不破坏源类的内容)。
写法,看代码:
class Program
{
static void Main(string[] args)
{
Human human = new Human();
human.Name = "张三";
human.Age = 18;
human.GetName();
human.GetAge("岁");
}
}
public class Human
{
public string Name { get; set; }
public int Age { get; set; }
}
public static class HumanExtension
{
/// <summary>
/// 扩展Human类的方法GetName
/// </summary>
/// <param name="human"></param>
public static void GetName(this Human human)
{
Console.WriteLine("姓名:" + human.Name);
}
/// <summary>
/// 扩展Human类的方法GetAge
/// </summary>
/// <param name="human"></param>
/// <param name="unit">单位</param>
public static void GetAge(this Human human, string unit)
{
Console.WriteLine("年龄:" + human.Age + unit);
}
}
很容易吧,需要注意的是,扩展方法必须是在非泛型静态类中定义,并且扩展方法必须是静态的,方法的第一个参数必须是this [类型]。使用扩展方法,可以很容易的为我们已有的类添加方法,如给String类添加个ToSource方法等。
文章的脚注信息由WordPress的wp-posturl插件自动生成
Related posts:
发表评论
| Trackback