我有一个名为Point的部分类,在其中,我想通过创建一个JustTest方法练习(这是没有意义的,因为它只是写出一行),但是我得到了这个错误"` Program.Point.JustTest()'由于其保护等级而无法进入"。
public partial class Point
{
private int x;
private int y;
public Point (int x, int y)
{
this.x = x;
this.y = y;
}
partial void JustTest();
}
public partial class Point
{
partial void JustTest()
{
Console.WriteLine("Should I work?");
}
public int setX
{
set
{
x = value;
}
get
{
return x;
}
}
public int setY
{
set
{
y = value;
}
get
{
return y;
}
}
}
static void Main()
{
Point p1 = new Point(20,30);
p1.JustTest();
}
答案 0 :(得分:4)
根据文件:
不允许使用访问修饰符。部分方法是隐式私有的。
这证明了您收到的有关无法访问方法的错误。
也许如果你为你想要达到的目标提供了更多的背景以及为什么,可以提供更多的帮助。
答案 1 :(得分:2)
默认情况下,类的所有成员(方法和字段)都是私有的。所有部分方法必须是私有的。
所以只需将行更改为:
public void JustTest() ...
一切都会好的。
答案 2 :(得分:0)
如果没有声明任何其他成员,则类中的任何成员都是private
。因此,编译器错误绝对正确,因为您无法在JustTest
- 类中访问该私有方法Program
。
让JustTest
公开,并省略partial
- 定义,因为任何partial
成员都是隐含的private
。
答案 3 :(得分:0)
部分方法是“隐式私有,因此它们不能是虚拟的。”也不能在同一个类和模块之外访问。如果您希望在外部访问它,则必须声明将访问部分方法的公共方法。见解释here。