Pergunta

Eu tenho uma situação quando eu preciso para acessar os membros privados de uma classe em uma classe privada incorporado. Como posso fazê-lo de forma eficiente.

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: Eu adicionar dinamicamente os controles para a forma, por isso gostaria de ter certeza de que após a criação já está inscrito para este evento.

Foi útil?

Solução

Você pode acessar os membros privados de aulas de classes aninhadas. Claro que, para acessar um método de instância você ainda precisa de uma instância da classe.

Outras dicas

Neste caso, basta fazê-lo ao contrário, l.e.g. após InitializeComponent() fazer um myFormLabel.Click += label_Click

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top