既然字段是隐式私有(private)的,为什么在书籍、文章等中经常使用显式声明? 最佳答案 因为默认访问级别因语言而异,而且许多人使用不止一种语言进行编程。很容易变得困惑,无论是作为作者还是作为稍后阅读代码的人,因此显式比隐式更好处理。 关于c#-为什么明确写"private"?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4113651/
既然字段是隐式私有(private)的,为什么在书籍、文章等中经常使用显式声明? 最佳答案 因为默认访问级别因语言而异,而且许多人使用不止一种语言进行编程。很容易变得困惑,无论是作为作者还是作为稍后阅读代码的人,因此显式比隐式更好处理。 关于c#-为什么明确写"private"?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4113651/
如果我有一个没有指定其可访问性级别的方法,它会默认为私有(private)吗?voidItem_PropertyChanged(objectsender,System.ComponentModel.PropertyChangedEventArgse){thrownewNotImplementedException();}上面的方法是私有(private)的吗? 最佳答案 是的。如果您不定义任何修饰符,则一般规则是“使用可以在此处应用的最受限制的修饰符”,因此对于方法是私有(private)的,对于顶级类是内部的,等等。
如果我有一个没有指定其可访问性级别的方法,它会默认为私有(private)吗?voidItem_PropertyChanged(objectsender,System.ComponentModel.PropertyChangedEventArgse){thrownewNotImplementedException();}上面的方法是私有(private)的吗? 最佳答案 是的。如果您不定义任何修饰符,则一般规则是“使用可以在此处应用的最受限制的修饰符”,因此对于方法是私有(private)的,对于顶级类是内部的,等等。
我理解PROPERTIES相对于FIELDS的优势,但我觉得使用AUTO实现的属性优于MANUAL实现的属性并没有真正提供任何优势,除了让代码看起来更简洁一些。我觉得使用起来更舒服:privatestring_postalCode;publicstringPostalCode{get{return_postalCode;}set{_postalCode=value;}}代替:publicstringPostalCode{get;set;}主要是因为如果我想对get和set进行任何类型的自定义实现,无论如何我都必须创建自己的属性并由私有(private)字段支持。那么,为什么不从一开始就
我理解PROPERTIES相对于FIELDS的优势,但我觉得使用AUTO实现的属性优于MANUAL实现的属性并没有真正提供任何优势,除了让代码看起来更简洁一些。我觉得使用起来更舒服:privatestring_postalCode;publicstringPostalCode{get{return_postalCode;}set{_postalCode=value;}}代替:publicstringPostalCode{get;set;}主要是因为如果我想对get和set进行任何类型的自定义实现,无论如何我都必须创建自己的属性并由私有(private)字段支持。那么,为什么不从一开始就
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。通常当我在类或结构中有一个私有(private)字段时,我使用驼峰式大小写,所以当你看到它的名字时很明显它确实是私有(private)的,但在我同事的一些C#代码中,我看到他们主要使用m_或有时使用_,就像有某种约定一样。.NET命名约定是否会阻止您对成员名称使用下划线?当您提到MS命名约定或其他什么时,他们会告诉您他们的命名约定是最好的方式,但不解释其
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。通常当我在类或结构中有一个私有(private)字段时,我使用驼峰式大小写,所以当你看到它的名字时很明显它确实是私有(private)的,但在我同事的一些C#代码中,我看到他们主要使用m_或有时使用_,就像有某种约定一样。.NET命名约定是否会阻止您对成员名称使用下划线?当您提到MS命名约定或其他什么时,他们会告诉您他们的命名约定是最好的方式,但不解释其
privatestaticvoidMain(string[]args){stringstr=null;Logger.InitUserLogWithRotation();//当我构建项目时,它没有错误。但是当我执行它时,它总是中止。我尝试调试项目,但在第一行出现System.TypeInitializationException错误。我已经尝试谷歌搜索,但没有找到解决方案。似乎有任何变量初始化代码错误,但找不到它。请帮帮我。我是C#新手。谢谢。※这是Logger类代码publicclassLogger{privatestaticintHDLOG_PRIORITY_DEBUG=4;priv
privatestaticvoidMain(string[]args){stringstr=null;Logger.InitUserLogWithRotation();//当我构建项目时,它没有错误。但是当我执行它时,它总是中止。我尝试调试项目,但在第一行出现System.TypeInitializationException错误。我已经尝试谷歌搜索,但没有找到解决方案。似乎有任何变量初始化代码错误,但找不到它。请帮帮我。我是C#新手。谢谢。※这是Logger类代码publicclassLogger{privatestaticintHDLOG_PRIORITY_DEBUG=4;priv