В моих свойствах у меня есть несколько 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());
}