Это обычно не является «ООП» вещь, чтобы использовать глобальную статическую переменную, но иногда полезно
Предполагая, что ваш дизайн OO действительно имеет смысл для этого рассматривать как глобальную переменную, рассмотрите возможность его упаковки в любом случае, чтобы воспользоваться инкапсуляцией и обеспечить любую необходимую логику в ее обработке.
Шаблон проектирования Singleton описывает совместную обработку этих данных.
По существу у вас есть класс для GunList, который имеет статический метод доступа к единственной копии этого списка, который используется в глазу.
class GunList
{
private satic GunList _GunList = new GunList();
public static GunList Guns
{
get { return _GunList; }
}
private List<string> gunList = new List<string>();
private GunList()
{
// Initialize here
}
}
Доступ его с помощью
GunList.Guns
Или обеспечивают функции доступа или свойства по мере необходимости.
https://msdn.microsoft.com/en-us/library/ff650316.aspx
Под «общественных статических классов» вы на самом деле означает «общественные статические переменные»? –
Неплохо, чтобы вещи были общедоступными и статичными, которые не должны быть, если это то, что вы просите, очень широкие, чтобы дать конкретный ответ, хотя – Sayse
Сначала вам нужно сначала прояснить некоторые вещи в своем классе: сколько экземпляров существуют ли эти классы и в каком отношении они? Имеет ли какой-либо экземпляр свой собственный список? – HimBromBeere