开发者

深入理解C#委托delegate的使用

开发者 https://www.devze.com 2022-12-01 13:27 出处:网络 作者: 旧时量刑
目录1.什么是委托2:委托的实现命名法委托静态方法的实例化委托实例化方法的委托多播委托匿名委托什么时候适用委托1.什么是委托委托就是委托某个方法来实现具体的功能,类似于:甲方委托乙方去实现需求;出租房...
讲这四类之间的区别时有必要讲解一个概念:程序集。程序集(Assembly),可以简单理解为编译之后生成的.dll或.exe文件,相对于namespace是类库的逻辑组织形式,它可以称为程序类库的物理组织形式,msdn上描述“程序集包含描述它们自己的内部版本号和它们包含的所有数据和对象类型的详细信息的元数据”。一般情况是一个程序集可以包含一个或者多个命名空间。

Public:对其他任何类的任何方法都是可见的;

Private:本类中定义的成员只有本类的方法才能访问;

Protected:本类中的成员只有本类的方法及继承本类的类的方法才能访问;

internal:本类中的成员只有本类所在的程序集中的任何类的方法访问;

protected internal:为protected与internal的并集。

因此从访问级别由高到低应当是Public>protected internal>internal>Protected>Private

类的默认修饰符为internal ,类中的成员变量默认修饰符为private,namespace可认为修饰符为public。另一点在msdn上也提到继承类的访问级别不能大于被继承类的访问级别,如internal的类不能继承private的类。

复制代码 代码如下:

using System;

/******************************

* Chapter:C#难点逐个击破(五)

* Author:王洪剑

* Date:2010-1-15

* Blog:http://www.51obj.cn/

* Email:walkingp@126.com

* Description:访问修改符

* ***************************/

namespace TestMain

{

public class A

{

public void Alert()

{

}

}

internal class B:A

{

internal new void Alert()

{

Console.WriteLine("you");

}

}

class Program

{

static void Main()

{

B b=new B();

b.Alert();

}

}

}

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号