c# - 错误 CS0122:“XXX”由于其保护级别 (CS0122) 而无法访问(测试)
问题描述
这是我的项目。我想在 program.cs 文件中调用 delete_created_page 文件代码,但是我有一些错误。
附上我的项目图片。 https://plus.google.com/u/0/photos/photo/103928744837695537992/6652781093994177394
'DeleteCreatedPage.MainDeletePage()' 由于其保护级别而无法访问
请帮帮我。我是 C# 的初学者,我正在使用 monodevelop 和 usng Ubuntu 18.04 OS
这是 Delete_created_page.cs 文件
namespace DeletePage
{
public class DeleteCreatedPage
{
static void MainDeletePage()
{
//Initialize TestName and ToolName.
string testName = "delete_page";
string toolName = "editor";
// Calling necessary classes
}
}
}
这是 Program.cs 文件
namespace ProgramList
{
public class MainClass
{
static void Main(string[] args)
{
DeletePage.DeleteCreatedPage del = new DeletePage.DeleteCreatedPage();
del.MainDeletePage();
}
}
}
解决方案
这里有几个问题叠加在一起。
第一个是该方法被设置为它可以限制的最严格,如果没有明确定义,例如internal
, 或private
。你希望它是公开的,所以一定要包括它。
第二个问题是它是static
,这意味着它不是通过实例化的对象访问的,而是直接通过类调用的,就像这样DeleteCreatedPage.MainDeletePage()
。如果您希望该方法与特定DeleteCreatedPage
对象的类成员一起使用,请删除static
. 如果您希望该方法对每个对象使用相同的值,请将 static 保留在那里。
因此,您有两种选择来解决此特定问题。
将方法定义更改为此
public void MainDeletePage()
或者改变你调用它的方式(同时仍然添加public
到方法定义中)
DeleteCreatedPage.MainDeletePage()
推荐阅读
- excel - 如何将百万行 Excel 文件导入数据表?
- here-api - TimeType ARRIVAL 在 Android SDK 中不起作用
- javascript - 点击时反应原生材料下拉动画的问题
- angular - RouterExtension.back() 不工作 Nativescript Angular
- sql-server - 附加当前绑定源时发生错误:“IEntityChangeTracker 的多个实例无法引用实体对象”
- c - 为什么编译器会先读取内部术语,然后再输出?
- python - 为什么 soup.select('.r a') 在我的谷歌搜索中找不到任何东西?
- javascript - 根据父级中div的位置滚动父级div溢出
- javascript - 有没有办法让客户端应用程序与没有设置 CORS 的服务器一起工作
- saml - 如何解决 SAML 响应错误无效名称 ID 策略