类的扩展方法

/// <summary>
/// 1.增加扩展方法第一步,增加一个静态类,类名随便起
/// 该静态类应该与将来要用扩展方法的地方在一个命名空间下。即便命名空间不一样,用的时候也必须导入该命名空间否则不能使用
/// </summary>
public static class MethodExt
{
//2.向静态类中增加一个静态方法
//该静态方法的第一个参数就表示要给哪个类型增加该扩展方法
//第一个修饰符this是必须的,这里的obj就表示将来调用该方法的那个对象
public static void SayHello(this Person obj)
{
Console.WriteLine("Hello ^_~" + obj.Name);
}
}

时间: 2024-07-31 23:35:27

类的扩展方法的相关文章

ASP.Net string 类的扩展方法 [转]

string 类的扩展方法列表(基本相同于 IEnumerable<T> 接口的成员列表): Aggregate<>     //累加 All<>        //是否都满足条件 Any<>        //是否有一个满足条件 AsEnumerable<>  // AsParallel<>    // AsQueryable<>    // Average<>      //平均值 Cast<>

JavaScript学习总结(十四)——JavaScript编写类的扩展方法

在?J?a?v?a?S?c?r?i?p?t?中?可以使?用?类的p?r?o?t?o?t?y?p?e属性来?扩?展?类的属?性?和?方?法,在实际开发当中,当JavaScript内置的那些类所提供的动态方法和动态属性不满足我们实际开发时,我们就可以通过"prototype"属性给自定义类添加方法和属性或者扩展原有的类中的方法和属性. 一.扩展JavaScript内置类,添加动态方法 语法格式: 类名.prototype.方法名 = function([param1],[param2],.

C#中的扩展方法

在java中没有这样的东西,一个类一旦是 final的 ,这个类就不能再被添加方法, 但是C#能够做到,可以给 sealed 类添加新的方法,这点我还是比较喜欢c#的. 这就是C#中的扩展方法. 那么什么情况下我们才需要去给一个类写扩展方法呢? 系统自带的类型,我们无法去修改: 修改源代码需要较大的精力,而且可能会带来错误: 我们只是需要一个或者较少的几个方法,修改源代码费时费力: 被扩展的类是sealed的,不能被继承:(就算不是sealed的,我们也不能因为需要一个方法而去写一个子类,这样不

18.C#扩展方法(十章10.1-10.2)

今天的话题,我们来聊下扩展方法,自己也真心感叹自己的文笔,那叫一个惨啊,回顾写的文章,看着看着也忘记当时是怀着什么心态写的,哈哈,现代人真心是太随性了,可能也是太冷漠了,接着写的吧,总是会有帮助,也会有收获的. 扩展方法是从C#3开始出现在我们的眼前,它即有静态方法的优点,也使我们的代码更具可读性,可以像实例方法一样调用静态方法.在扩展方法没有出现前,我们在代码中常常出现静态的工具类(当然,即使现在我们来会使用静态工具类,那都是前人的智慧结晶),如一个字符串帮助类.时间转换工具类.想像一下,当我

C# 3.0 特性之扩展方法

今天,我们来聊一聊C#的扩展方法. C# 3.0中为我们提供了一个新的特性—扩展方法.什么是扩展方法呢?我们看一下MSDN的注解: 扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型 也就是说,我们可以为基础数据类型,如:String,Int,DataRow,DataTable等添加扩展方法,也可以为自定义类添加扩展方法. 那么,我们怎么向现有类型进行扩展呢?我们再看看MSDN的定义: 扩展方法被定义为静态方法,但它们是通过实例方法语法进行调用的.

学习系列之扩展方法

一 扩展方法的定义 扩展方法能够向现有类型"添加"方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型.扩展方法是一种特殊的静态方法,调用扩展方法与调用在类型中实际定义的方法之间没有明显的差异 从字面上按照我们通常的理解,我们首先需要获得某个类的源代码,然后在这个类代码中增加成员方法,这样就可以达到为一个类提供扩展方法的目的.可是不幸地是,这种方法在没有源代码的情况下就无法奏效了,而且我们人为地去改变源代码有可能会破坏整个代码的稳定性.那么有没有一种方法能在不改变源代码的前提

ASP.Net MVC开发基础学习笔记(2):HtmlHelper与扩展方法

一.一个功能强大的页面开发辅助类—HtmlHelper初步了解 1.1 有失必有得 在ASP.Net MVC中微软并没有提供类似服务器端控件那种开发方式,毕竟微软的MVC就是传统的请求处理响应的回归.所以抛弃之前的那种事件响应的模型,抛弃服务器端控件也理所当然. 但是,如果手写Html标签效率又比较低,可重用度比较低.这时,我们该怎样来提高效率呢?首先,经过上篇我们知道可以通过ViewData传递数据,于是我们可以写出以下的Html代码: 1 <input name="UserName&q

C#中自定义扩展方法

在C#中,我们在不写子类的情况下,可以为类增加扩展方法,前提的被扩展的类不能使静态类. 步骤如下:   定义一个静态 类以包含扩展方法.该类必须对客户端代码可见. 有关可访问性规则的更多信息,请参见 访问修饰符(C# 编程指南). 将该扩展方法实现为静态方法,并使其至少具有与包含类相同的可见性. 该方法的第一个参数指定方法所操作的类型:该参数必须以 this 修饰符开头. 在调用代码中,添加一条 using 指令以指定包含扩展方法类的 命名空间. 按照与调用类型上的实例方法一样的方式调用扩展方法

C#3.0扩展方法学习篇

什么是类的扩展方法 扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型. MSDN Extension methods enable you to "add" methods to existing types without creating a new derived type, recompiling, or otherwise modifying the original type. Extension methods are a