Member 13200081 Ответов: 1

Несогласованная доступность как решить проблему несогласованной доступности C#


Каждый раз, когда я пытаюсь запустить программу, я получаю эту ошибку

Ошибка CS0053 несогласованная доступность: тип свойства 'Trainee' менее доступен, чем свойство ' frm3Update.TraineeUpdate'

пожалуйста помочь

Что я уже пробовал:

Кнопка из второй формы
private void BtnUpdate_Click(object sender, EventArgs e)
{
	if (Candidate.Count == 0)
	{
		MessageBox.Show("There is nothing to update.");
	}
	else
	{
		FrmUpdate my = new FrmUpdate();
		icnt1 = DGTrainee.CurrentCell.RowIndex;
		my.TraineeUpdate = Candidate[icnt1];
		my.ShowDialog();
		Candidate[icnt1] = my.TraineeUpdate;
	}
} 


public partial class frm3Update : Form
{
	public frm3Update()
	{
		InitializeComponent();
	}

	private Trainee mUpdateTrainee;
	public Trainee TraineeUpdate
	{
		get { return mUpdateTrainee; }
		set { mUpdateTrainee = value; }
	}


	private void frm3Update_Load(object sender, EventArgs e)
	{
		txtName.Text = TraineeUpdate.Name;
		txtSurname.Text = TraineeUpdate.Surname;
		nudAge.Value = TraineeUpdate.Age;
		txtTrainingExp.Text = TraineeUpdate.Experience;
		txtGender.Text = TraineeUpdate.Gender;
	}

	private void btnUpdateTrainee_Click(object sender, EventArgs e)
	{
		TraineeUpdate.Name = txtName.Text;
		TraineeUpdate.Surname = txtSurname.Text;
		TraineeUpdate.Gender = txtGender.Text;
		TraineeUpdate.Age = Convert.ToInt32(nudAge.Value);
		TraineeUpdate.Experience = txtTrainingExp.Text;
		this.Close();
	}
}

1 Ответов

Рейтинг:
7

Graeme_Grant

Код не запускается, так как ошибка компилятора довольно ясна и мешает компиляции кода.

Вот официальная документация по Ошибка компилятора CS0053 (C#)[^]

Цитата:
Публичная конструкция должна возвращать общедоступный объект. Для получения дополнительной информации см. Модификаторы Доступа (Руководство По Программированию На C# )[^].

Так, "стажер тип недвижимости менее доступными, чем frm3Update собственность '.TraineeUpdate' " - это сказать, что это ваша проблема:
private Trainee mUpdateTrainee;
public Trainee TraineeUpdate
{
    get { return mUpdateTrainee; }
    set { mUpdateTrainee = value; }
}

То Traniee класс (не предоставляется) не помечен буквой А public средство доступа.