我得到了这个错误'…由于它的保护等级,无法进入
本文关键字:保护 于它 错误 | 更新日期: 2023-09-27 18:15:32
我已经读了一点关于这个问题,但我没有得到任何有用的答案,在我的情况下,我得到了if (!_positioner.GetPosition(ref position, _content, contentSize))
行的问题,错误说FloatPositioner.GetPosition(ref ...)
由于其保护级别而无法访问:
using UnityEngine;
private GUIContent _content;
private FloatPositioner _positioner;
public string Text { get { return _content.text; } set { _content.text = value; } }
public GUIStyle Style {get; set;}
public void OnGUI()
{
var position = new Vector2();
var contentSize = Style.CalcSize(_content);
if (!_positioner.GetPosition(ref position, _content, contentSize)) ''Right Here
{
Destroy(gameObject);
return;
}
GUI.Label(new Rect(position.x, position.y, contentSize.x, contentSize.y), _content, Style);
}
另一方面,我得到这个通知,我必须为FloatPositioner.GetPosition
声明一个主体,以便正常运行或其他东西,但我真的不知道这是为了什么。我想这就是导致问题的原因:
using UnityEngine;
public class FloatPositioner : MonoBehaviour
{
bool GetPosition(ref Vector2 position, GUIContent content, Vector2 size);
}
帮助!
当您访问bool GetPosition时,错误是保护级别?你的类是公共的,但是你要调用的方法不是。
public class FloatPositioner : MonoBehaviour
{
public bool GetPosition(ref Vector2 position, GUIContent content, Vector2 size);
}