【发布时间】:2010-05-12 09:02:25
【问题描述】:
我创建了一个枚举,其中存储了一些表名。我希望它用于获取表的名称,例如ds.Tables[BGuestInfo.TableName.L_GUEST_TYPE.ToString()]。
public class a
{
public enum TableName : byte
{
L_GUEST_TYPE = 0
,L_AGE_GROUP = 1
,M_COMPANY = 2
,L_COUNTRY = 3
,L_EYE_COLOR = 4
,L_GENDER = 5
,L_HAIR_COLOR = 6
,L_STATE_PROVINCE = 7
,L_STATUS = 8
,L_TITLE = 9
,M_TOWER = 10
,L_CITY = 11
,L_REGISTER_TYPE = 12
}
}
class b
{
a.TableName x; //trying to restrict this
ds.Tables[a.TableName.L_GUEST_TYPE] //accessible and can be used like this
}
这是我的枚举。现在我还没有创建这个枚举的任何实例,所以没有人可以将它用于只读目的。
为了让这个枚举也可以在外部类中访问,我必须将其公开,这意味着一些外部类也可以创建它的对象。
那么我能做些什么来限制它的实例创建。
【问题讨论】:
-
您能否举例说明如何创建枚举实例?
-
为什么要限制这个?
-
你不能有枚举的实例,它是一个值类型。
标签: c# .net enums oop instantiation