相关疑难解决方法(0)

C#中的默认访问修饰符是什么?

类,方法,成员,构造函数,委托和接口的默认访问修饰符是什么?

c# access-modifiers

355
推荐指数
7
解决办法
22万
查看次数

有什么理由在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
查看次数