如果我雙擊了新的winform按鈕uxHelloButton
則出現以下內容:爲什麼表單的工具事件是默認的私有?
private void uxHelloButton_Click(object sender, RoutedEventArgs e)
爲什麼默認的專用? 如果我刪除私人和離開跟隨它仍然能正常:
void uxHelloButton_Click(object sender, RoutedEventArgs e)
是否加入此範圍內的避免潛在的問題?
如果我雙擊了新的winform按鈕uxHelloButton
則出現以下內容:爲什麼表單的工具事件是默認的私有?
private void uxHelloButton_Click(object sender, RoutedEventArgs e)
爲什麼默認的專用? 如果我刪除私人和離開跟隨它仍然能正常:
void uxHelloButton_Click(object sender, RoutedEventArgs e)
是否加入此範圍內的避免潛在的問題?
的問題是:爲什麼你想使它訪問? 在一般情況下,最好是給每一個元素,需要最嚴格的權限。 如果你不這樣做,你正在服用某些類可以調用這個函數,他們不應該的風險。
即使從一個面向對象的角度來看,這必須是私有的。該函數是表單用於處理按鈕單擊的回調。這並不意味着被你或任何外部類明確地調用。
如果要調用這個方法,請使用以下代替:
private void uxHelloButton_Click(object sender, RoutedEventArgs e)
{
SomethingToDo(...);
}
protected void SomethingToDo(...)
{
....
}
PS:在C#中的默認範圍爲實例方法是私有的,你沒有通過刪除私人關鍵字展開。
據我所知,這些事件是由只有形式的實例調用。這是不能在課外使用的。所以它就是這樣設計的。
如果刪除了「私人」這是完全一樣的東西,因爲[類成員和結構成員,包括嵌套類和結構的訪問級別,默認是私人(http://msdn.microsoft.com/ EN-US /庫/ ms173121.aspx)。所以私人只是爲了清晰而添加。 –