既然字段是隐式私有(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)的,对于顶级类是内部的,等等。
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。通常当我在类或结构中有一个私有(private)字段时,我使用驼峰式大小写,所以当你看到它的名字时很明显它确实是私有(private)的,但在我同事的一些C#代码中,我看到他们主要使用m_或有时使用_,就像有某种约定一样。.NET命名约定是否会阻止您对成员名称使用下划线?当您提到MS命名约定或其他什么时,他们会告诉您他们的命名约定是最好的方式,但不解释其
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。通常当我在类或结构中有一个私有(private)字段时,我使用驼峰式大小写,所以当你看到它的名字时很明显它确实是私有(private)的,但在我同事的一些C#代码中,我看到他们主要使用m_或有时使用_,就像有某种约定一样。.NET命名约定是否会阻止您对成员名称使用下划线?当您提到MS命名约定或其他什么时,他们会告诉您他们的命名约定是最好的方式,但不解释其
来自C++背景,这让我感到惊讶。在C++中,将虚函数设为私有(private)是一种很好的做法。来自http://www.gotw.ca/publications/mill18.htm:“指南#2:更喜欢将虚拟函数设为私有(private)。”我还引用了EricLippert的博客,来自Knights-knaves-protected-and-internal:PrivatevirtualmethodsareillegalinC#,whichirksmetonoend.Iwouldtotallyusethatfeatureifwehadit.我知道在C#中,您将无法覆盖派生(但不是嵌套
来自C++背景,这让我感到惊讶。在C++中,将虚函数设为私有(private)是一种很好的做法。来自http://www.gotw.ca/publications/mill18.htm:“指南#2:更喜欢将虚拟函数设为私有(private)。”我还引用了EricLippert的博客,来自Knights-knaves-protected-and-internal:PrivatevirtualmethodsareillegalinC#,whichirksmetonoend.Iwouldtotallyusethatfeatureifwehadit.我知道在C#中,您将无法覆盖派生(但不是嵌套
C#是否有私有(private)/保护继承的概念,如果没有,为什么?C++classFoo:privateBar{public:...};C#publicabstractNServletclass:privateSystem.Web.UI.Page{//error"typeexpected"}我正在.aspx页面中实现“类似servlet”的概念,我不希望具体类能够查看System.Web.UI.Page基础的内部结构。 最佳答案 C#只允许公共(public)继承。C++允许所有三种类型。公共(public)继承暗示了一种“IS-
C#是否有私有(private)/保护继承的概念,如果没有,为什么?C++classFoo:privateBar{public:...};C#publicabstractNServletclass:privateSystem.Web.UI.Page{//error"typeexpected"}我正在.aspx页面中实现“类似servlet”的概念,我不希望具体类能够查看System.Web.UI.Page基础的内部结构。 最佳答案 C#只允许公共(public)继承。C++允许所有三种类型。公共(public)继承暗示了一种“IS-
我正在使用C#、NUnit和RhinoMocks编写单元测试。以下是我正在测试的类(class)的相关部分:publicclassClassToBeTested{privateIListinsertItems=newList();publicboolOnSave(objectentity,objectid){varauditable=entityasIAuditable;if(auditable!=null)insertItems.Add(entity);returnfalse;}}我想在调用OnSave后测试insertItems中的值:[Test]publicvoidOnSave_