Альтернатива List <Tuple <Grid, TabItem, int, string, int >> ... в C # - PullRequest
1 голос
/ 22 июня 2010

Я пытаюсь найти альтернативу List<Tuple<Grid, TabItem, int, string, int>>..., так как мне нужно иметь возможность изменять значения целых чисел или строковое значение.

Я говорю "альтернатива", потому что не думаю, что этоможно изменить любые значения в кортеже.Я не хочу удалять его и создавать заново с другими значениями.

Ответы [ 2 ]

3 голосов
/ 22 июня 2010

Похоже, вы должны просто создать свой собственный класс для хранения этих свойств, тогда вы можете применять любое поведение, какое захотите. Кортежи в основном предназначены для простого объединения объектов (обычно временно). Если вы хотите, чтобы объект содержал все эти вещи, был доступен для редактирования для определенных свойств (но не для других?), Тогда вам просто нужно написать класс для него.

class BagOfthings
{
    public Grid Grid {get; private set;}
    public TabItem TabItem {get; private set;}
    public int id {get; private set;}
    public String label {get; set;}
    public int index {get; set;}
}

очевидно, вы должны выбрать имена переменных, которые имеют смысл:)

0 голосов
/ 22 июня 2010

Вам, вероятно, следует составить список структур, в которых вы назовете каждый из элементов кортежа:

struct mytype {
    Grid mygrid;
    TabItem myitem;
    int myint;
    // etc
}

Затем используйте List<mytype>.Конечно, вы должны заменить все эти имена на что-то более значимое.

...