Я создал enum, где я сохранил некоторые имена таблиц. Я хочу, чтобы он использовался для получения имени таблицы, например 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
}
Это мое перечисление. Сейчас я не создал ни одного экземпляра этого перечисления, чтобы никто не мог использовать его для других целей, кроме чтения.
Чтобы это перечисление было доступно и во внешних классах, я должен сделать его общедоступным, что означает, что некоторый внешний класс также может создавать свой объект.
Итак, что я могу сделать, чтобы ограничить создание его экземпляра.