2014-10-18 5 views
1

Это мой первый опыт использования Stackoverflow, как и по меньшей мере, а английский - не мой родной язык, поэтому, пожалуйста, извините мой английский.ошибка 1 несовместимая доступность:

Я получаю эту ошибку

Противоречивые доступность: тип поля 'System.Collections.Generic.List' является менее доступным, чем поле 'Agenda.Form1.listaPersonas'

Я на самом деле нашел это в других вопросах, но все ответы говорят, что параметры должны быть общедоступными, и это то, что я не понимаю. Я все еще студент, и я узнал, что видимость этого поля должна быть частной и доступной для публики. Во всяком случае, я попытался сделать их приватными, но у меня все еще такая же проблема.

Вот мой код:

namespace Agenda 
{ 
    public partial class Form1 : Form 
    { 
     public List<Persona> listaPersonas = new List<Persona>(); 

     public Form1() 
     { 
      InitializeComponent(); 
     } 
    } 

    class Persona 
    { 
     private string nombre; 
     private string apellidos; 
     private string telefono; 
     private DateTime fechaNac; 

     public Persona(string nom, string ape, string tel, DateTime fecNac) { 
      this.nombre = nom; 
      this.apellidos = ape; 
      this.telefono = tel; 
      this.fechaNac = fecNac; 
     } 
    } 
} 

ответ

1
class Persona 

означает, что класс является только внутренним. Вы должны будете сделать это public, чтобы сделать его доступным для вашего другого кода

просто добавить ключевое слово общественности к нему:

public class Persona 
+0

Нет означает, что класс является частным только классом является внутренняя не частные –

+0

да правда. Набирать быстрее, чем думать иногда suxx;) – MichaC

0

вы должны добавить

public class Persona 

    { 

ваш конструктор определен public создания экземпляра класса не будет возможно в качестве модификатора по умолчанию internal, когда нет применяется модификатор

From MSDN

Classes and structs that are declared directly within a namespace (in other words, that are not nested within other classes or structs) can be either public or internal. Internal is the default if no access modifier is specified.

Смежные вопросы