C#可访问性不一致

当C#程序出现如:

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

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


补充:

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

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




发布了14 篇原创文章 · 获赞 10 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_36545099/article/details/77980150