【解决】“XXX...XXX“不可访问,因为它具有一定的保护级别

开发平台:Unity 2018 版本以上
编译平台:Visual Studio 2019
编程语言:CSharp

问题截图


在这里插入图片描述

问题分析


  属于单例模式中属性、方法访问类型上的限制导致无法调用。通常为 private 私有变量、方法导致问题出现。

解决方案


对于类外访问调用

  • 公开被访问内对象访问类型 public
    例如 GameController.Instance.EntryApp() 出现访问限制情况。应根据访问前后顺序要求 GameControllerInstanceEntryApp() 均为 public 访问类型。

对于类继承访问调用

  • 使用 publicprotected 访问类型限制继承类访问。

20210718笔记

检查报错问题出现的类的 继承 与 实现。即 问题类的父类、其使用的接口对象。通常出现问题源于这些不合理的访问类型级别(publicprivateprotectedScale等)

  • 最佳解决方案
    更变问题点最初始的对象的访问类级别为publicprotected
    注意:不是继承或实现后使用其的对象!
  • 最耗时解决方案
    将其继承的父类、实现的接口中的类访问级别、方法访问级别、字段访问级别、属性访问级别等逐一切换为Public检查报错问题提示是否消失。建议使用protected限制其他方式访问。
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值