【问题标题】:Inconsistent accessibility: TBGE_FilePaths is less accessible than field FilePaths可访问性不一致:TBGE_FilePaths 的可访问性低于字段 FilePaths
【发布时间】:2014-05-26 05:32:15
【问题描述】:

所以在用 C# 开发我的软件时,我偶然发现了刚刚发生的这个错误。无法弄清楚出了什么问题,因为所有这些都是公开的,这不应该是问题吗?

完整的错误是:

错误 1 ​​可访问性不一致:字段类型 'TextbasedGameEngine.DataStorage.TBGE_FilePaths' 难以访问 比领域 'TextbasedGameEngine.GameDesignerForm.FilePaths' C:\Users\Kevin\documents\visual 工作室 2013\Projects\TextbasedGameEngine\TextbasedGameEngine\Form1.cs 24 31 TextbasedGameEngine

我的主类“GameDesignerForm”如下:

...
using TextbasedGameEngine.DataStorage;
using TextbasedGameEngine.Handlers;

namespace TextbasedGameEngine {
    public partial class GameDesignerForm : Form {

        private TreeNodeMouseClickEventArgs CurrentSelectedSequence;
        private TreeNodeMouseClickEventArgs CurrentSelectedChoice;

        public static GameDesignerForm instance;
        public TBGE_FilePaths FilePaths;

        public GameDesignerForm() {
            InitializeComponent();
        }

        private void GameDesignerForm_Load(object sender, EventArgs e) {
            FilePaths = new TBGE_FilePaths(Application.StartupPath);
            instance = this;
            ReloadSave();
        }
    }
}

我尝试访问/使用的类是 TBGE_FilePaths,它位于另一个文件夹中:

...
using TextbasedGameEngine.Handlers;

namespace TextbasedGameEngine.DataStorage {
    class TBGE_FilePaths {
        public string STARTUP_PATH;
        public string LOCATION_PATH;
        public string PROJECT_NAME;

        public string CURRENT_SAVE_FILE = "/TBGE_Data/current_save.txt";
        public string SEQUENCE_SAVE_FILE;
        public string CHOICE_SAVE_FILE;

        public TBGE_FilePaths(string startupPath) {
            //Constructor
            STARTUP_PATH = startupPath;
            PROJECT_NAME = TBGE_FileHandler.GetCurrentSaveFile(STARTUP_PATH + CURRENT_SAVE_FILE);
            LOCATION_PATH = STARTUP_PATH + "/TBGE_Data/SaveFiles/" + PROJECT_NAME + "/";
            SEQUENCE_SAVE_FILE = LOCATION_PATH + "Sequences.xml";
            CHOICE_SAVE_FILE = LOCATION_PATH + "Choices.xml";
        }
    }
}

【问题讨论】:

    标签: c# io


    【解决方案1】:

    你需要将TBGE_FilePaths类设为public,类默认为internal

    public class TBGE_FilePaths 
    

    【讨论】:

    • 哇......我真的那么盲目,我可以监督这个选项吗?当然..现在很有意义..谢谢你的帮助。我最好继续我的调试技能:D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-07
    • 1970-01-01
    • 2015-07-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    相关资源
    最近更新 更多