A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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();

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

3 个回复

倒序浏览
枚举Gender默认是internal,而在结构体Person中定义Gender sex为public,当在Program类中访问Person中sex时就会出现可访问性低的错误。
必须使得枚举Gender的访问修饰符高于或等于Person中定义的sex(不能低于)。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
enum定义时没加修饰符,默认为internal。字段“练习.Person.sex”的访问修饰符为public,两者访问权限不一致。在你的枚举前加上public修饰符可以解决。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
就是说要不都加上,不要都不加吗
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马