如果我双击了新的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)。所以私人只是为了清晰而添加。 –