About ExtendMethod
/// <summary>
/// 忘记跟谁的博看到method(this interface interfaceName)这个形式的东西了
/// 好像是介绍多继承的
/// 今天找了找,弄明白了
/// </summary>
///
namespace Extend
{
//五金大仓库
public static class Warehouse
{
//管道工才能拿我这里的东西----必须制定拿什么
public static string GetTools(this AboutExtend.Program.Plumber p, string tool)
{
return tool;//ps:就不单写Tool接口和具体类了
}
}
}
namespace AboutExtend
{
using Extend;
public class Program
{
//管道工人----给我工具~我会干活
public class Plumber
{
//我的名字
public string name { get; set; }
//我的工具
public string myTool{get;set;}
//我会修理管道
public void RepairPipe()
{
if(myTool==null)
{
Console.WriteLine("我还没拿工具呢。");
}
else
{
Console.WriteLine("用"+this.myTool+"开始干活");
}
}
}
static void Main(string[] args)
{
//天空咔嚓一声巨响,水管工善良登场
Plumber plumber = new Plumber();
//马里奥
plumber.name = "Mario";
//直接去修理
plumber.RepairPipe();
Console.WriteLine("---------------拿扳子之后--------------");
//让他自己去仓库里拿个板子
plumber.myTool = plumber.GetTools("扳子");
//再去修理
plumber.RepairPipe();
Console.Read();
}
}
}
/// 忘记跟谁的博看到method(this interface interfaceName)这个形式的东西了
/// 好像是介绍多继承的
/// 今天找了找,弄明白了
/// </summary>
///
namespace Extend
{
//五金大仓库
public static class Warehouse
{
//管道工才能拿我这里的东西----必须制定拿什么
public static string GetTools(this AboutExtend.Program.Plumber p, string tool)
{
return tool;//ps:就不单写Tool接口和具体类了
}
}
}
namespace AboutExtend
{
using Extend;
public class Program
{
//管道工人----给我工具~我会干活
public class Plumber
{
//我的名字
public string name { get; set; }
//我的工具
public string myTool{get;set;}
//我会修理管道
public void RepairPipe()
{
if(myTool==null)
{
Console.WriteLine("我还没拿工具呢。");
}
else
{
Console.WriteLine("用"+this.myTool+"开始干活");
}
}
}
static void Main(string[] args)
{
//天空咔嚓一声巨响,水管工善良登场
Plumber plumber = new Plumber();
//马里奥
plumber.name = "Mario";
//直接去修理
plumber.RepairPipe();
Console.WriteLine("---------------拿扳子之后--------------");
//让他自己去仓库里拿个板子
plumber.myTool = plumber.GetTools("扳子");
//再去修理
plumber.RepairPipe();
Console.Read();
}
}
}