C# Как создать и ссылаться на несколько глобально доступных объектов?C#

Место общения программистов C#
Ответить
Anonymous
 C# Как создать и ссылаться на несколько глобально доступных объектов?

Сообщение Anonymous »

Моя цель — получить и установить одно значение из нескольких объектов, доступных из любого места кода. В примерах, которые я публикую, я собираюсь показать только 3 объекта, но, поскольку их будет 10, я хочу избежать необходимости создавать 10-уровневый оператор switch/if каждый раз, когда я пытаюсь получить или установить значение одного из объектов.
У меня есть два класса:

Код: Выделить всё

public class TestClassProperties

{
public static class Foo1
{
public static int TestInt { get; set; } = 1;
public static string TestString { get; set; } = "Hello";
}

public static class Foo2
{
public static int TestInt { get; set; } = 2;
public static string TestString { get; set; } = "Hi";
}

public static class Foo3
{
public static int TestInt { get; set; } = 3;
public static string TestString { get; set; } = "Hey";
}
}

Код: Выделить всё

public class CallTestClass
{
string bar;
void PressKey(int numberPressed)
{
if (numberPressed == 1)
{
bar = Foo1.TestString;
Foo1.TestString = "Goodbye";
}
else if (numberPressed == 2)
{
bar = Foo2.TestString;
Foo2.TestString = "Goodbye";
}
else if (numberPressed == 3)
{
bar = Foo3.TestString;
Foo3.TestString = "Goodbye";
}
else
{
bar = "Nothing.";
}
Console.WriteLine("You said " + bar);
}
}

Всегда будет ровно 10 объектов Foo. Я предполагаю, что мне нужен список или массив, но я не могу понять синтаксис или методологию, поскольку это несколько объектов с несколькими свойствами. У меня должен быть способ взять нажатое число, например, число 1, а затем получить строку Foo1 и затем установить ее без блока операторов switch/if.
Любой помощь приветствуется.

Подробнее здесь: https://stackoverflow.com/questions/781 ... le-objects
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»