C#命名空间中定义的元素无法显式声明为 private、protected 或 protected internal

本文探讨了在C#中,为何命名空间内的类不能使用private、protected或protected internal作为访问修饰符。解释了这三种修饰符的含义,并指出命名空间内的类型默认为internal访问级别。总结了C#的四种访问修饰符及其适用范围。
摘要由CSDN通过智能技术生成

问题

当修改类前面的访问修饰符为private时报错?

namespace Kernel.ServiceAgent
{
//访问修饰符默认没有
class ServiceManager:IDisposable where T:class
{
}
}

原因

1、private :private 关键字是一个成员访问修饰符。私有访问是允许的最低访问级别。私有成员只有在声明它们的类和结构体中才是可访问的
2、而这里,命名空间中的类型声明只可以具有 public 或 internal 访问修饰符
3、默认是internal 访问级别
4、类中类是可以使用 private 的

总结

四个访问修饰符分别为private、protected、public、internal
其中private和protected是成员访问修饰符
public 和 internal 是类型和类型成员访问修饰符。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值