C#可访问性不一致

来源:互联网 发布:泰迪罗宾地位知乎 编辑:程序博客网 时间:2024/06/05 16:52

当C#程序出现如:

可访问性不一致: 属性类型“System.Collections.Generic.List<CloudModels.ActuatorDataBase>”比属性“CloudModels.GatewaySensorActuator.ZigbeeActuators”的可访问性低 之类的错误时,是因为基类的访问权限没有子类的访问权限高,基类和子类的修饰符,应该是基类的访问性比子类的低了,

比如:
基类为 internal
子类为 public
       因此导致了子类的可见性范围比基类还大。 所以解决的方法就是将基类的访问权限更改的比子类大,或者将基类的访问权限改成和子类的一样即可。


补充:

1.声明命名空间,前面不加限制访问修饰符时,默认访问权限internal——访问仅限于当前程序集。 
2.声明类成员(包括字段(变量)、属性和方法)默认为private)以及结构类型,前面不加限制访问修饰符时,默认访问权限为private——访问仅限于当前类。 

3.声明枚举类型以及接口类型,前面不加限制访问修饰符时,默认为public且只能为public(就算要把限制访问修饰符写出来,也只能写public,而不能使用其他限制访问修饰符)——访问不受限制。




原创粉丝点击