这是我的项目。我想在program.cs文件中调用delete_created_page文件代码,但是出现一些错误。
附上我的图片。 https://plus.google.com/u/0/photos/photo/103928744837695537992/6652781093994177394
“ DeleteCreatedPage.MainDeletePage()”由于其保护级别而无法访问
请帮帮我。我是C#的初学者,正在使用monodevelop和使用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();
}
}
}
答案 0 :(得分:2)
这里有很多问题。
首先,如果未明确定义该方法,则将其设置为可以限制的最高级别,例如internal
或private
。您希望它是公开的,因此请确保包括在内。
第二个问题是它是static
,这意味着它不是通过实例化的对象访问的,而是直接通过类调用的,就像DeleteCreatedPage.MainDeletePage()
一样。如果您希望该方法与特定DeleteCreatedPage
对象的类成员一起使用,请删除static
。如果希望该方法对每个对象使用相同的值,请在该位置保留静态。
因此,您有两种方法可以解决此特定问题。
将方法定义更改为此
public void MainDeletePage()
或更改其调用方式(同时仍将public
添加到方法定义中)
DeleteCreatedPage.MainDeletePage()
答案 1 :(得分:0)
如果您尝试调用MainDeletePage
,则必须将其标记为public
,以便其他班级可以看到它。因此,请尝试使用static void MainDeletePage()
而不是public static void MainDeletePage()
。默认情况下,如果C#没有显式定义其作用域,则默认为方法的私有作用域。私有方法只能由定义它们的类访问。
答案 2 :(得分:0)
这是因为MainPageDelete不是公开的,因此您需要这样编写。类成员的默认可访问性修饰符是私有的,因此在类外部无法访问。
public static void MainDeletePage()
{
//Initialize TestName and ToolName.
string testName = "delete_page";
string toolName = "editor";
// Calling necessary classes
}
答案 3 :(得分:0)
现在,当我在delete_created_page文件中编写此文件时,它可以工作。
m
在program.cs文件中将此方法称为
。public void MainDeletePage()