2009-12-04 108 views
0

我有一種情況,當我需要訪問嵌入私有類中某個類的私有成員時。我如何有效地做到這一點。訪問私有類中的成員

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: 我添加動態控件到窗體,所以我會確保在創建後,他們已經訂閱了此事件。

回答

1

你可以從嵌套類訪問類的私有成員。當然,要訪問一個實例方法,你仍然需要一個類的實例。

0

在這種情況下,只需按照其他方式(例如, InitializeComponent()做了myFormLabel.Click += label_Click

+0

我動態地將控件添加到表單中,所以我確信在創建之後他們已經訂閱了此事件。 – serhio 2009-12-04 12:35:00