Ошибка:Что вызывает ошибку «Несоответствующая доступность» в следующем коде?
Error 1 Inconsistent accessibility: field type
'System.Collections.Generic.List<Lines>'
is less accessible than field'Star.lines'
J:\Documenting\Universiteit Utrecht - Game Technology\Modelleren en Systeem Ontwikkeling\Assignment4\ShapeDrawing\ShapeDrawing\Star.cs 15 24 ShapeDrawing
Кодекс, который вызывает ошибку:
public class Star : Shape
{
private int x;
private int y;
private int width;
private int height;
public List<Lines> lines; // TODO: Ask explanation for cause of error.
public Star (int x, int y, int width, int height)
{
this.x = x;
this.y = y;
this.width = width;
this.height = height;
}
public override void CalculateGeometry()
{
lines = new List<Lines>();
int numPoints = 5;
Point[] pts = new Point[numPoints];
double rx = width/2;
double ry = height/2;
double cx = x + rx;
double cy = y + ry;
double theta = -Math.PI/2;
double dtheta = 4 * Math.PI/numPoints;
int i;
for (i = 0; i < numPoints; i++)
{
pts[i] = new Point(
Convert.ToInt32(cx + rx * Math.Cos(theta)),
Convert.ToInt32(cy + ry * Math.Sin(theta)));
theta += dtheta;
}
for (i = 0; i < numPoints; i++)
{
lines.Add(new Lines(pts[i].X,
pts[i].Y,
pts[(i + 1) % numPoints].X,
pts[(i + 1) % numPoints].Y));
}
}
}
Я пытался смотреть в причинах ошибки. По-видимому, это связано с тем, что публичное поле используется из открытого класса. В этом случае кажется, что и метод, и поле являются общедоступными, поэтому я не уверен, в чем проблема.
Заранее благодарим за любую помощь.
Вы не показали декларацию 'Lines', но я подозреваю, что это' internal' класс, так что вы не можете использовать его в публичном поле. В стороне, я настоятельно призываю вас не использовать публичные поля в любом случае. –
Да, у вас, скорее всего, есть это: защищенные классы класса (или что-то менее доступное, чем общедоступное, которое будет внутренним, защищенным или закрытым). Измените это на public class Lines. – Scottie
Хорошо, спасибо большое. Как-то я пропустил это каждый раз. Очень ценится. Извините за отправку дубликата. – userX