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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 sazn1314 于 2013-1-22 15:59 编辑

现在看视频看到枚举和构造了,然后写了这个,可是一直出错

提示:错误    1    可访问性不一致: 字段类型“枚举和构造体.Gender”比字段“枚举和构造体.Person.sex”的可访问性低    E:\我的C#\01我的第一个项目\我的第一个程序\枚举和构造体\Program.cs    15    19    枚举和构造体

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 枚举和构造体
{
public enum Gender
{
    男,
    女,
}
public struct Person
{
    public string name;
    public Gender sex;
    public int age;
}
   public class Program
    {
        static void Main(string[] args)
        {
            Person oneperson;
            oneperson.name="张三";
            oneperson.sex = Gender.男;
            oneperson.age = 18;


            Person twoperson;
            twoperson.name = "李四";
            twoperson.sex = Gender.男;
            twoperson.age = 26;
        }
    }
}

请问该怎么改呢。。谢谢。。。。

评分

参与人数 1技术分 +1 收起 理由
潘梦军 + 1

查看全部评分

6 个回复

倒序浏览
定义枚举前都加public即可

评分

参与人数 1黑马币 +20 收起 理由
岳珅 + 20 赞一个!

查看全部评分

回复 使用道具 举报
  1. namespace test14模拟移动设备
  2. {
  3.     public enum Gender
  4.     {
  5.         男,
  6.         女,
  7.     }
  8.     public struct Person
  9.     {
  10.         public string name;
  11.         public Gender sex;
  12.         public int age;
  13.     }
  14.     class Program
  15.     {
  16.         static void Main(string[] args)
  17.         {
  18.             #region 模拟实现移动设备插入电脑
  19.             
  20.             
  21.             ////u盘对象
  22.             //Mobile uPan = new UDisk();
  23.             //uPan.Fetch();
  24.             //uPan.Write();
  25.             //Mobile mp3 = new Mp3();
  26.             //mp3.Fetch();
  27.             //mp3.Write();
  28.             //Mobile mobileDisk = new MobileDisk();
  29.             //mobileDisk.Fetch();
  30.             //mobileDisk.Write();
  31.             //Console.ReadKey();
  32.             #endregion
  33.             Person oneperson;
  34.             oneperson.name = "张三";
  35.             oneperson.sex = Gender.男;
  36.             oneperson.age = 18;


  37.             Person twoperson;
  38.             twoperson.name = "李四";
  39.             twoperson.sex = Gender.男;
  40.             twoperson.age = 26;
  41.         }
  42.     }
  43. }
复制代码
和你上面的代码一模一样,没有修改任何地方,我这里编译无报错
所以应该是其他地方的问题,你把项目删除,在重新建一个应该就OK了

评分

参与人数 1技术分 +1 收起 理由
潘梦军 + 1

查看全部评分

回复 使用道具 举报
ShowStyle 发表于 2013-1-22 08:56
和你上面的代码一模一样,没有修改任何地方,我这里编译无报错
所以应该是其他地方的问题,你把项目删除, ...

我晕死啊,昨天问完问题就保存了去睡觉了,今天早上起来,直接打开,直接运行,不报错了。。。神马情况啊- -
回复 使用道具 举报
sazn1314 发表于 2013-1-22 09:26
我晕死啊,昨天问完问题就保存了去睡觉了,今天早上起来,直接打开,直接运行,不报错了。。。神马情况啊 ...

自己多想想!是不是这里的代码和昨天的不一样,比如说是否引用了其他类的东西啊,

评分

参与人数 1黑马币 +20 收起 理由
岳珅 + 20 很给力!

查看全部评分

回复 使用道具 举报
彭先生 发表于 2013-1-22 02:27
定义枚举前都加public即可

谢谢你,是这样的:loveliness:
回复 使用道具 举报
岳珅 中级黑马 2013-1-22 15:57:13
7#
ShowStyle 发表于 2013-1-22 09:33
自己多想想!是不是这里的代码和昨天的不一样,比如说是否引用了其他类的东西啊, ...

最后是加了个public在enum前面- -然后保存,关机。。。。没运行。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马