为什么我们把“this”放在参数前面?

时间:2010-02-10 06:19:19

标签: c#

例如:

public static Domain.Recruitment.Recruitment Map(this Data.Recruitment dv) 
{
 //some code
  return new Domain.Recruitment.Recruitment{} 
}

3 个答案:

答案 0 :(得分:15)

它将方法标记为“扩展方法”,可以像对象上的实例方法一样调用,并允许您“在不创建新的派生类型的情况下”向现有类型添加'方法,重新编译或以其他方式修改原始方法类型“:

答案 1 :(得分:3)

将“this”添加到参数会创建扩展方法。扩展方法的作用类似于实例方法,因为您可以在扩展方法中第一个参数类型的实例上调用它。

例如,由于Map被标记为扩展方法

,因此可以进行以下操作
Data.RecruitMent dv = ...;
dv.Map();

答案 2 :(得分:2)

这是一种扩展方法。一种扩展类型而无需直接修改它的方法。

虽然我相信它是C#3.0中的新功能