C# 如果类和成员';什么访问修饰符不同?

C# 如果类和成员';什么访问修饰符不同?,c#,.net,C#,.net,试图找出-以下两者之间是否有任何区别: 受保护类中的公共成员(属性、方法),以及 公共类中受保护的成员(属性、方法)。这不仅仅是关于公众和受保护的。它是关于类成员的不同访问修饰符的组合 据我所知,类成员的最大允许访问级别是类或成员的最低访问级别,以较低者为准 所以,受保护类中的公共方法只能在同一个类或派生类中访问。公共类中的受保护方法将具有相同的访问级别。 我的建议正确吗?还是我错过了什么 这个问题来自C#测验,测验内容是: 您正在创建名为Employee的类。该类公开名为EmployeeTyp

试图找出-以下两者之间是否有任何区别: 受保护类中的公共成员(属性、方法),以及 公共类中受保护的成员(属性、方法)。这不仅仅是关于公众和受保护的。它是关于类成员的不同访问修饰符的组合

据我所知,类成员的最大允许访问级别是类或成员的最低访问级别,以较低者为准

所以,受保护类中的公共方法只能在同一个类或派生类中访问。公共类中的受保护方法将具有相同的访问级别。 我的建议正确吗?还是我错过了什么

这个问题来自C#测验,测验内容是: 您正在创建名为Employee的类。该类公开名为EmployeeType的字符串属性。以下代码段定义Employee类

public class Employee
{
    internal string EmployeeType { get; set; }
}
EmployeeType属性值只能由Employee类或从Employee类派生的类中的代码访问和修改。您需要确保EmployeeType属性的实现满足要求。它必须如何修改

我选择了:

protected string EmployeeType { get; set; }
但正确的答案是:

internal string EmployeeType { protected get; protected set; }

那么,如果在这两种情况下,属性的最大访问级别都受到保护,那么有什么区别呢?

这个“正确答案”甚至无法编译。无论你做错了什么测试,我建议你再找一个。现在解释一下
受保护的内部
是什么=p一个人得到了很多人你的答案是正确的“正确答案”甚至不会编译。无论你做的是什么错误的测验,我建议再找一个。现在解释一下什么是
受保护的内部
是=p一个得到很多人的答案是正确的