2012-06-06 46 views
0

如果我双击了新的winform按钮uxHelloButton则出现以下内容:为什么表单的工具事件是默认的私有?

private void uxHelloButton_Click(object sender, RoutedEventArgs e) 

为什么默认的专用? 如果我删除私​​人和离开跟随它仍然能正常:

void uxHelloButton_Click(object sender, RoutedEventArgs e) 

是否加入此范围内的避免潜在的问题?

+1

如果删除了“私人”这是完全一样的东西,因为[类成员和结构成员,包括嵌套类和结构的访问级别,默认是私人(http://msdn.microsoft.com/ EN-US /库/ ms173121.aspx)。所以私人只是为了清晰而添加。 –

回答

1

的问题是:为什么你想使它访问? 在一般情况下,最好是给每一个元素,需要最严格的权限。 如果你不这样做,你正在服用某些类可以调用这个函数,他们不应该的风险。

即使从一个面向对象的角度来看,这必须是私有的。该函数是表单用于处理按钮单击的回调。这并不意味着被你或任何外部类明确地调用。

如果要调用这个方法,请使用以下代替:

private void uxHelloButton_Click(object sender, RoutedEventArgs e) 
{ 
    SomethingToDo(...); 
} 
protected void SomethingToDo(...) 
{ 
    .... 
} 

PS:在C#中的默认范围为实例方法是私有的,你没有通过删除私人关键字展开。

0

据我所知,这些事件是由只有形式的实例调用。这是不能在课外使用的。所以它就是这样设计的。

相关问题