我有一个任务,我必须处理不同雇员的类,并且对于每个雇员(类),我必须设置一个受保护级别的属性,并在屏幕上显示系统对每个雇员尝试的反应访问受保护的字段。 管理员不必访问程序员的领域和主管的领域。程序员不必访问主管的领域,而必须访问经理的领域,并且主管具有完全访问权限。 1:我可以引用班级的其他领域吗(经理到主管,经理到程序员等)?如果没有适当的访问权限,我会在控制台中收到一条消息 2:我是否需要使用反射来检查工人的防护等级是否对应?
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = false)]
public class AccessLevelAttribute : System.Attribute
{
public readonly string accessLevel;
public string AccessLevel
{
get { return accessLevel; }
}
public AccessLevelAttribute(string accessLevel)
{
this.accessLevel = accessLevel;
}
}
[AccessLevel("lower")]
public class Manager
{
public string fild1 = "Manager document";
}
[AccessLevel("medium")]
public class Programmer
{
public string fild2 = "Programmer document";
}
[AccessLevel("high")]
public class Director
{
public string fild3 = "Director document";
}
class Program
{
static void Main(string[] args)
{
Programmer programmer = new Programmer();
MemberInfo type = typeof(Programmer);
object[] attributes = type.GetCustomAttributes(typeof(AccessLevelAttribute), true);
foreach (AccessLevelAttribute item in attributes)
{
Console.WriteLine(item.accessLevel);
}
Console.ReadKey();
}
}