доступ к членам в частном классе - PullRequest
0 голосов
/ 04 декабря 2009

У меня есть ситуация, когда мне нужен доступ к закрытым членам класса во встроенном закрытом классе. Как я могу сделать это эффективно.

public partial class Form1 : Form
{
    // this private label will be used only in this form
    private class MyFormLabel : Label
    {
        MyFormLabel() 
        {
            this.BorderStyle = BorderStyle.FixedSingle;
            // ?? how to pass the from label_Click (without delegates)?
            this.Click +=new EventHandler(????); 
        }
    }

    public Form1()
    {
        InitializeComponent();
    }

    private void label_Click(object sender, EventArgs e)
    {
        // displays the form caption
        MessageBox.Show(this.Text);
    }
}   

NotaBene: Я динамически добавляю элементы управления в форму, чтобы быть уверенным, что после создания они уже подписаны на это событие.

Ответы [ 2 ]

1 голос
/ 04 декабря 2009

Вы можете получить доступ к закрытым членам классов из вложенных классов. Конечно, для доступа к методу экземпляра вам все еще нужен экземпляр класса.

0 голосов
/ 04 декабря 2009

В этом случае просто сделайте это двумя способами, например, после InitializeComponent() сделать myFormLabel.Click += label_Click

...