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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 穆玉明 于 2013-6-11 20:09 编辑

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 结构
{
    enum Gender
    {
        男,
        女
    }
    public struct Person //结构体的语法,访问修饰符常用public
    {
        public string name;//结构成员
        public Gender sex;
        public int age;
    }//以上定义了一个名称为person的结构

    class Program
    {
        static void Main(string[] args)
        {
            Person onePerson;//声明了一个人的变量
                onePerson.name = "张三";
                onePerson.age=20;
                onePerson.sex = Gender.男;
                Console.WriteLine("我叫{0},今年{1},我是{2}性",onePerson.name,
                    onePerson.age,onePerson.sex );
                Person secPerson;
                secPerson.name = "李四";
                secPerson.age = 26;
                secPerson.sex = Gender.男;
                Console.WriteLine("我叫{0},今年{1},我是{2}性", secPerson.name,
                       secPerson.age, secPerson.sex);
                Console.ReadKey();
        }
    }
}





出现错误情况   提示  结构.Gender比结构.Person.sex的可访问性低   
我应该怎么改啊  

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

6 个回复

倒序浏览
/////////////////////////////////////////////////////////////////////////////////////////////////////////
enum Gender//修改为:public enum Gender试试看!
{
       男,
       女
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////
回复 使用道具 举报
枚举也需要 public

捕获.PNG (13.87 KB, 下载次数: 1)

捕获.PNG

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace test0
{
    public enum Gender //没有访问修饰符,默认应该为 private 或 protected 你自己研究下
    {
        男,
        女
    }
    public struct Person
    {
        public string name;
        public Gender sex;//而结构体中的 访问修饰符是public 不一致 所以将枚举改成 public
        public int age;
    }

    class Program
    {
        static void Main(string[] args)
        {
            Person onePerson;
            onePerson.name = "张三";
            onePerson.age = 20;
            onePerson.sex = Gender.男; //因为你要在其他类的Main方法中 访问它 修饰符必须为internal、protected internal、public
            Console.WriteLine("我叫{0},今年{1},我是{2}性", onePerson.name,
                onePerson.age, onePerson.sex);
            Person secPerson;
            secPerson.name = "李四";
            secPerson.age = 26;
            secPerson.sex = Gender.男;
            Console.WriteLine("我叫{0},今年{1},我是{2}性", secPerson.name,
                   secPerson.age, secPerson.sex);
            Console.ReadKey();
        }
    }
}


求技术分

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
在枚举 前面 加上 public  就可以了
        public  enum Gender
{

}  
求技术分

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
没有访问修饰符改为public就可以啦

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
许庭洲 发表于 2013-6-11 14:21
//////////////////////////////////////////////////////////////////////////////////////////////////// ...

谢啦  等解决好久了,现在明白了   
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马