一个非常菜的问题,我都不好意思问,不过还是弄清楚的好~(50分)

  • 主题发起人 主题发起人 soit
  • 开始时间 开始时间
S

soit

Unregistered / Unconfirmed
GUEST, unregistred user!
private enum sextype
{ man,
woman
}
private sextype sex;
public sextype Sex{
get{return sex;}
}
这段代码是错误的。不过把private enum sextype 改成public enum sextype 就正确了,
我不知道是为什么,请高人指点,请尽量说明白一点,我是个初学菜鸟,^_^ 谢谢。
 
这是什么语言的代码?
 
分类到了C#呀,不过我想其他语言也应该差不多吧。
 
这两个关键字代表类的可见范围:
public:指在本类和派生类中可以看到;
private:指只有在本类中可以访问,如果是变量,要通过自己写的方法访问;
在c语言中也差不多的意思了,类中涉及到的都差不多!!!!!!!!!!!
 
我也初学,不过你那类型只能类内访问的话,sextype类型的Sex属性就不能为Public,
因为属性取得的东西类外部不知为何物。
 
还是把完整的代码贴出来吧,
我只是没弄懂为什么在同一个类中访问自定义的私有类为什么不行?
using System;
class netuser
{
private string userid;
private string password;
private string emailadr;
private long netage;
public long Netage{
get{return netage;}
set{if (netage != value)
netage = value;
}
}

private string realname;
public string RealName{
get{return realname;}
}

[red]private enum sextype
{ man,
woman
}
private sextype sex;
public sextype Sex{
get{return sex;}
}[/red]
private string birthday;
public string Birthday{
get{return birthday;}
}

public netuser(string id,string pas,string eml){
userid = id;
password = pas;
emailadr = eml;
if (eml == "")
emailadr = id + "@hope.com";
}
public void show(){
Console.WriteLine("userid is {0}",userid);
Console.WriteLine("password is {0}",password);
Console.WriteLine("emailadress is {0}",emailadr);
}
}
 
倒~ 用[red] [/red]括起来的就是那段代码
难道定义为私有的类型以后,这个类型就不能去定义私有变量了?
 
c#的问题没人答吗?
 
我也是初学。。不知道这样写行不行?
private enum sextype
{ man,
woman
}
public sextype sex;
public sextype Sex{
get{return sex;}
}
 
只有这样才行:
public enum sextype
{ man,
woman
}
private sextype sex;
public sextype Sex{
get{return sex;}
}
 
ivw,說對了。
我還不知道為什麼?
說說原理。
 
试试这样:
public enum sextype
{ man,
woman
}
private sextype sex;
private sextype Sex{
get{return sex;}
}
 
属性一般不会定义为类私有的吧?
ivw那个答案是我想要的,不过可以说说理由吗?
 
问题很简单, enum 如果声名在class 内, 它又需要给这个class 以外的引用, 那么这个 enum 需要声名为 public, 你也可以把它放在 Assembly 的最外层, 如:
using System;
enum sextype
{ man, woman }
class netuser
{
private sextype sex;
public sextype Sex{
get{return sex;}
}
把enum 变成全局, 不过还是用 public 好一些, 但在外部引用之前, 先要实例化此class
 
多人接受答案了。
 
后退
顶部