class Point3d
{
public Point3d(int a ; int b){...}
}
class B
{
public Point3d[] p=new Point3d[10];
}
结果出错:error cs0052 Inconsistent accessibility: field type '_3Dbox.Point3d[]' is less accessible than field '_3Dbox.Cubic.p'
...全文
16510打赏收藏
请教一个较搞人的问题?
class Point3d { public Point3d(int a ; int b){...} } class B { public Point3d[] p=new Point3d[10]; } 结果出错:error cs0052 Inconsistent accessibility: field type '_3Dbox.Point3d[]' is less accessible than field '_3Dbox.Cubic.p'
我认为你的问题是没有给
p[0],p[1],p[2]....p[10]赋初值。
就你写出的程序来说,在class B初始化的时候,p被初始为
一个class Point3d的数组。但p[0],p[1]没有被初始。
如我修改的程序,是可以运行的。
using System;
namespace formytest
{
class Point3d
{
public int A;
public int B;
public Point3d(int a,int b)
{
A=a;
B=b;
}
}
class B
{
public Point3d[] p=new Point3d[10];
public B()
{
for(int i=0;i<10;i++)
p[i]=new Point3d(i,i);
}
}
class test
{
public static void Main()
{
int i=0;
B b=new B();
Console.WriteLine(b.p[3].A);
}
}