Как установить аргументы для метода? - PullRequest
0 голосов
/ 03 декабря 2018

В моих свойствах у меня есть несколько bools под названием Username, Frames, Time и Rerecords.Также есть строка с именем StringFormat.Я объясню позже.

У меня есть объект под названием Пользователь с переменными (это правильное слово?) User.Username, User.Frames, User.Time, User.Rerecords.Каждая переменная представляет собой string, int, int, int соответственно.

Наконец, у меня есть метод:

public void Display(string stringFormat, params object[] args)
{
    // stringFormat = Properties.Settings.Default.Format
    lbl_Display.Text = string.Format(stringFormat, args);
}

Я хочу использовать Userпеременные в качестве аргументов ЕСЛИ переменные свойств с одинаковыми именами True.

Как я могу это сделать?В настоящее время мое исследование привело меня сюда , но оно не помогло.

Любая помощь будет принята с благодарностью.Спасибо.

Редактировать: я сделал это с некоторым кодом спагетти, чтобы смоделировать ответ:

public void Display()
{
    // spaghetti code - Fix later
    NumberConverter nc = new NumberConverter();

    List<bool> settings = new List<bool>
    {
        Properties.Settings.Default.Username,
        Properties.Settings.Default.Frames,
        Properties.Settings.Default.Time,
        Properties.Settings.Default.Rerecords
    };

    List<string> args = new List<string> { };
    if (settings[0])
        args.Add(compList[listIndex].Username);
    if (settings[1])
        args.Add(compList[listIndex].Frames.ToString());
    if (settings[2])
        args.Add(nc.FormatTime(compList[listIndex].Frames));
    if (settings[3])
        args.Add(compList[listIndex].Rerecords.ToString());

    lbl_Display.Text = string.Format(Properties.Settings.Default.Format, args.Cast<object>().ToArray());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...