黑马程序员技术交流社区

标题: 可访问性不一致: 字段类型“练习.Gender”比字段“练习.Person.sex”的可访问性低 [打印本页]

作者: 王彦伟    时间: 2012-12-6 13:54
标题: 可访问性不一致: 字段类型“练习.Gender”比字段“练习.Person.sex”的可访问性低
enum Gender
    {
        男,
        女,
    }
    public struct Person
    {
        public string name;
        public Gender sex;
        public int age;
    }
    class Program
    {
        static void Main(string[] args)
        {

            Person onePerson, secPerson;
            onePerson.name = "张三";
            onePerson.sex = Gender.男;
            onePerson.age = 20;
            Console.WriteLine("我叫{0},性别{1},今年{2}岁了",onePerson.name,onePerson.sex,onePerson.age);
            secPerson.name = "小兰";
            secPerson.sex = Gender.女;
            secPerson.age = 26;
            Console.WriteLine("我叫{0},性别{1},今年{2}岁了", secPerson.name, secPerson.sex,secPerson.age);
            Console.ReadKey();
作者: 李青    时间: 2012-12-6 14:38
枚举Gender默认是internal,而在结构体Person中定义Gender sex为public,当在Program类中访问Person中sex时就会出现可访问性低的错误。
必须使得枚举Gender的访问修饰符高于或等于Person中定义的sex(不能低于)。

作者: 刘亚龙    时间: 2012-12-6 15:20
enum定义时没加修饰符,默认为internal。字段“练习.Person.sex”的访问修饰符为public,两者访问权限不一致。在你的枚举前加上public修饰符可以解决。
作者: 王彦伟    时间: 2012-12-6 15:46
就是说要不都加上,不要都不加吗




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2