accedere ai membri di una classe privata
Domanda
Ho una situazione in cui devo accedere ai membri privati di una classe in una classe privata incorporata.Come posso farlo in modo efficiente.
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:Aggiungo dinamicamente i controlli al form, così sarei sicuro che dopo la creazione siano già iscritti a questo evento.
Soluzione
È possibile accedere ai membri privati delle classi dalle classi nidificate.Naturalmente, per accedere a un metodo di istanza è ancora necessaria un'istanza della classe.
Altri suggerimenti
In questo caso, fai semplicemente il contrario, ad es.Dopo InitializeComponent()
fai un myFormLabel.Click += label_Click
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow