Имеется перечисление вида:
enum MyControls: ulong { elementONE = 18410924985427079801, elementTWO = 88410924985427079804, elementF = 58410924985427079802};
Так же имеется массив, который инициилизируется при старте так:
MyClass[] mc1 = new MyClass[Enum.GetNames(typeof(MyControls)).Length];
экземпляры myclass добавляются и соответствуют тому же порядку, что описан в mycontrols.
Можно ли как то получить доступ к элементам такого массива, используя запись вида mc1[MyControls.elementF]. ( index elementF == 2)
Интересуют любые способы получения индекса в данном перечисление!
Можно было бы завести дополнительное перечисление, например
enum MyControlsNames = {elementONE, elementTWO, elementF }
и свободно писать mc1[MyControlsNames.elementF], но интересует 1й способ.
Благодарю за ответы!
Сделайте не массив, а Dictionary
var mc1 = new Dictionary<MyControls,MyClass>();
mc1.Add(MyControls.elementF, new MyClass(MyControls.elementF));
Можно перегрузить индексатор
class MyClass {
public int this[ulong i]
{
get
{
// ваш код извлечения необходимой записи
}
}
}
Почитать про перегрузку индексаторов можно тут и тут.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости