第二篇 .NET高级技术之密闭类和静态类及扩展方法

C#扩展方法与密闭静态类解析
本文深入探讨了C#中的扩展方法、密闭类和静态类的概念及其应用。介绍了扩展方法如何通过静态类提供对现有类型的功能增强,以及密闭类和静态类的特性和使用场景。

1、密闭类是修饰为sealed的类, sealed不能有子类。一般只有系统中的一些基本类声明为sealed。面试题:是否可以编写一个类继承自String类?

答:不能,因为string被声明为了sealed了

2、静态类:声明为static的类,不能实例化,只能定义static成员。通常用他定义扩展方法

3、C#3.0特性:扩展方法。声明静态类,增加一个静态方法,第一个参数是被扩展类型的标记为this,然后在其他类中可以直接调用,本质上还是对静态方法调用提供的一个“语法糖”,也可以用普通静态方法的方式调用,所以不能访问private和protected成员。例子:给String扩展一个IsEmail方法。自己写的机会比较少。

4、静态类和密封类的不同在于密封类是可以New,静态类不能NEW,同时也没有什么可比性

 

using System;

using System.Collections;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

namespace TestConsole

{

    class Program

    {

        static void Main(string[] args)

        {

            string str = "Hello World!";

            str.ShowMsg(str);

            Console.ReadKey();

        }

}

    #region 扩展方法

    static class MyString

    {

        public static void ShowMsg(this string a, string msg)

        {

            Console.WriteLine(msg);

        }

    }

    #endregion 扩展方法

}

更多技术请关注

 

posted on 2019-05-23 10:53  笨小孩做开发 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/dullbaby/p/10910629.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值