在c#中,默认情况下方法是私有的吗?
如果我有一个没有指定其可访问性级别的方法,默认情况下它是私有的吗在c#中,默认情况下方法是私有的吗?,c#,C#,如果我有一个没有指定其可访问性级别的方法,默认情况下它是私有的吗 void Item_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { throw new NotImplementedException(); } 上述方法是私有的吗?是的,它是私有的。它是私有的。如果未定义任何修饰符,则一般规则为“此处可应用的最受限修饰符已使用”,因此对于方法为私有,对于
void Item_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
throw new NotImplementedException();
}
上述方法是私有的吗?是的,它是私有的。它是私有的。如果未定义任何修饰符,则一般规则为“此处可应用的最受限修饰符已使用”,因此对于方法为私有,对于顶级类为内部,等等。对于类内的方法,默认值为私有。根据声明内容的范围不同,它也会有所不同,这里有一个更详细的示例@Cloud-但这样你就不会得到任何声誉积分;)@云-我想要一个更科学的答案。当VS自动生成一个方法存根时,它会创建一个具有私有可访问性的方法,而不是没有任何可访问性关键字。它是根据Julien Lebosquain在其回答中解释的相同规则执行的。你可以把它看作是一种“安全总比后悔好”的方法。与其有太多你不知道的可访问性,不如有更少的可访问性和编译错误(将来)此外,这种行为可能还有与性能相关的原因。