码迷,mamicode.com
首页 > Windows程序 > 详细

c#拓展方法

时间:2017-11-29 11:38:23      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:err   line   tostring   扩展方法   ring   修改   adk   size   style   

扩展方法是静态方法,它是类的一部分,但实际上没有放在类的源代码中 。 
下例中的 Money类需要一个方法 AddToAmount(decimal amountToAdd)。 
但是 ,由于某种原因,Money类源代码不能直接修改 。
此时必须做的所有工作就是创建一个静态类,把方法 AddToAmount()添加为一个静态方法

如果扩展方法与类中的某个方法同名 ,就 从来不会调用扩展方法。类中已有的任何实例方法优先

 

class Program

{
static void Main(string[] args)
{
Money cash1 = new Money() { Amount = 40 };
Console.WriteLine(cash1.ToString());
cash1.AddToAmount(20);
Console.WriteLine(cash1.ToString());
Console.ReadKey();
}

}
public class Money
{
private decimal amount;

public decimal Amount { get => amount; set => amount = value; }

public override string ToString()
{
return "$"+ Amount.ToString();
}
}


public static class MoneyExtension
{
public static void AddToAmount(this Money money,decimal amountToAdd)
{
money.Amount += amountToAdd;
}
}

 

c#拓展方法

标签:err   line   tostring   扩展方法   ring   修改   adk   size   style   

原文地址:http://www.cnblogs.com/blogs-cjz/p/7918961.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!