日期:2014-05-17  浏览次数:20990 次

有关可访问性不一致的问题
我看了一个视频,视频上的老师讲枚举类型加入到了结构体中,并且运行成功了,可能是我看的视频不清晰,我按照老师的方法怎么也运行不成功,下面是我的程序还有提示的错误,坛子里的高手,帮帮小弟看看应该怎么改
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 报错的程序
{
    class Program
    {
        enum Gender
        {
            男,
            女,
        }
        public struct Person
        {
            public Gender sex;
            public int age;
            public string name;
        }
        static void Main(string[] args)
        {
            Person onePerson;
            onePerson.age = 20;
            onePerson.name = "张三";
            onePerson.sex = Gender.男;
            Console.WriteLine("我叫{0},我今年{1}岁了,我是{2}性", onePerson.name, onePerson.age, onePerson.sex);
            Console.ReadKey();
        }
    }
}
提示的错误:错误 可访问性不一致: 字段类型“结构.Gender”比字段“结构.Person.sex”的可访问性低

------解决方案--------------------
 enum Gender
        {
            男,
            女,
        }
改成
 public enum Gender
        {
            男,
            女,
        }
------解决方案--------------------
        public enum Gender
        {
            男,
            女,
        }
------解决方案--------------------
你的Gender枚举类型是private的,但是你却声明了一个public的Gender类型~当然不行了。