关于C#扩展方法

    由于这两天开始正式学习我们的unity项目,而之前从未接触过c#,所以今天在看到一处代码的时候产生了疑问。

static public void Login_Enter(this ConnectionManager mgr, string p_username, string p_password, int p_nAdult, int p_nServerID)
	{
		PacketBuffer.GetInstance().Clear().SetObjMethod(0,0).Add(p_username).Add(p_password).Add(p_nAdult).Add(p_nServerID).Send(mgr);
	}

这是我们工程中的一段代码,其中没看明白Login_Enter这个函数里面第一个参数写着 this 类名 参数名,这种形式完全没有看明白,于是去请教主程,主程告诉我这是C#中的一种特殊用法叫做扩展方法,于是就去网上查了一下,找到一篇博客写的不错,

于是打算转载过来  http://www.cnblogs.com/potential/archive/2012/11/04/2754148.html 

其实可以简单理解为 为this后面的类 添加一个函数,函数的参数就是从this后面开始的参数,而实现的内容就是方法本身。而且不光可以为类添加扩展方法,还可以为基本数据类型添加扩展方法,但是定义这个方法的时候必须为public static的。


你可能感兴趣的:(c#扩展方法)