相关疑难解决方法(0)

有什么理由在C#中写"private"关键字吗?

据我所知,private是默认无处不在C#中(也就是说,如果我不写public,protected,internal等这将是private默认情况下).(如果我错了,请纠正我.)

那么,编写该关键字的原因是什么,或者为什么它甚至存在于成员中?

例如,当自动生成事件处理程序时,它看起来像这样:

private void RatTrap_MouseEnter(object sender, CheeseEventArgs e)
{

}
Run Code Online (Sandbox Code Playgroud)

但是,如果暗示和默认,为什么它甚至写私人?只是为了让新手开发人员(不知道它是C#默认值)知道它是私有的吗?或者编译器有区别吗?

此外,是否存在写"私人"(单独)改变会员的可访问性的情况?

c# specifications private access-modifiers auto-generate

106
推荐指数
7
解决办法
1万
查看次数

如果它是多余的,你应该使用私人访问修饰符吗?

鉴于这两个例子是等价的,您认为哪些是可取的?

没有显式修饰符

public class MyClass
{

    string name = "james";

    public string Name {
        get { return name; }
        set { name = value; }
    }

    void SomeMethod() { ... }

}
Run Code Online (Sandbox Code Playgroud)

使用显式修饰符

public class MyClass
{

    private string name = "james";

    public string Name {
        get { return name; }
        set { name = value; }
    }

    private void SomeMethod() { ... }

}
Run Code Online (Sandbox Code Playgroud)

我一直使用后者,但最近我开始采用前一种风格.私有是多余的,因为它是默认的访问者修饰符,所以排除它是否有意义?

c# coding-style

50
推荐指数
8
解决办法
7385
查看次数

私有关键字vs没有私人关键字

如果默认情况下所有内容都是私有的,那么private关键字的用途是什么?

public class A {
    object someObject;
    private object someOtherObject;
}
Run Code Online (Sandbox Code Playgroud)

以上两种都不是私人的吗?如果它们都是私有的那么为什么需要关键字本身?

.net c#

8
推荐指数
2
解决办法
1052
查看次数