自写扩展方法

有时候我们需要一个方法,但是.net没有提供,我们需要自己写个扩展方法

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6
 7 namespace CsTest
 8 {
 9    static class kuozhan
10     {
11        public static string se(this string d)
12        {
13            return d.Remove(0,2);
14        }
15        public static string  isou(this int ds)
16        {
17            if (ds%2==0)
18            {
19                return "是个偶数";
20            }
21            else
22            {
23                return "不是偶数";
24            }
25        }
26     }
27 }

直接调用

 1  class Program
 2     {
 3         static void Main(string[] args)
 4         {
 5             string str = "Hello World!";
 6             str.se();
 7             int b = 67;
 8             b.isou();
 9
10         }
11     }
时间: 2024-08-05 11:18:40

自写扩展方法的相关文章

随手写的一个对DataRow和DataSqlReader的扩展方法

因为觉得一般使用DataRow获取行数据时使用字符串 会有太多的不确定和类型判断所以想自己扩展一下 最后成果 public class Model { public int objUserID { get; set; } public string FirstName { get; set; } } class Program { static void Main(string[] args) { DataRow r = null; var contact= r.GetContact<Model

C#中的扩展方法

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

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#扩展方法

由于业务的需求,可能系统提供的方法并不能帮助我们完成相应的功能, 此时就可以扩展系统类的方法. 扩展方法本质是静态方法,只是C#提供了便利,扩展内部不能调用被扩展类的私有.protected的成员. 在下述的代码中也可以看见,静态类myExtend就是为扩展string类方法使用的. 写扩展方法有三个步骤: 1.声明一个类为静态类static,这里也增添类的访问修饰符public公用的,这样才能被调用. 2.声明一个静态方法 3.参数的写法,格式为 this 扩展类名 参数 形参1 形参2...

扩展方法学习总结

什么是扩展方法?怎么写扩展方法?下面将一一解答. 首先,用扩展方法的目标是对现有的类提供额外的方法以增强该类的功能. 比方说我们想把字符串的转换成第一个字母大写,其他的字母小写.现在VS并没有提供这样直接转换的功能,如果要用的话就需要截取和拼接字符串才能做到.但是如果用到的多了的话,这样做是很麻烦的.此时,我们就可以给字符串添加一个扩展方法,就像ToUpper,ToLower一样,直接点出来转换就可以完成转换. 其次,扩展方法的注意事项 1.扩展方法是一种特殊的静态方法 2.扩展方法必须在静态类

C#中的自动属性、隐式类型var、对象初始化器与集合初始化器、扩展方法

1.自动属性(Auto-Implemented Properties) //以前的写法 .net2.0 private string _userName; public string UserName { get { return _userName; } set { _userName= value; } } //现在 只适合3.5以上 public string_userName {get;set;} 2.隐式类型var 它是在编译已经能确定变量的类型,是根据后面的值自动推断类型,编译时把推

C#4.0语法糖之第四篇: 扩展方法

今天继续分享C#4.0语法糖的扩展方法,这个方法也是我本人比较喜欢的方法.大家先想想比如我们以前写的原始类型不能满足现在的需求,而需要在该类型中添加新的方法来实现时大家会怎么做.我先说一下我没有学习到这个知识点之前做的方法: 最笨的办法就是修改原来的类型,然后添加一个方法来达到需求的变更,如下代码所示: 1 public class KuozFF 2 3 { 4 5 public void NormalMethod() 6 7 { 8 9 Console.WriteLine("我是原始方法&qu

C#复习笔记(4)--C#3:革新写代码的方式(扩展方法)

扩展方法 扩展方法有以下几个需求: 你想为一个类型添加一些 成员: 你不需要为类型的实例添加任何更多的数据: 你不能改变类型本身, 因为是别人的代码. 对于C#1和C#2中的静态方法,扩展方法是一种更优雅的解决方案. 语法 并不是任何方法都能作为扩展方法使用-- 它必须具有以下特征: 它必须在一个非嵌套的. 非泛型的静态类中( 所以必须是一 个静态方法): 它至少要有 一个参数: 第一个参数必须附加 this 关键字作为前缀: 第一个参数不能有其他任何修饰 符(比如out或ref): 第一个参数

给IConfiguration写一个GetAppSetting扩展方法

给 IConfiguration 写一个 GetAppSetting 扩展方法 Intro 在 .net core 中,微软已经默认使用 appsettings.json 来代替 app.config,并重新设计了一套完整的配置系统,可以支持 json/xml/ini/环境变量等. 在 .net core 中有一个 GetConnectionString 的扩展方法用来比较方便的获取链接字符串,类似于在 .net framework 中使用 ConfigurationManager.Connec