Каков наилучший способ интанцировать класс сам по себе ?
У меня есть проблема с одним трюком, который я хотел бы попробовать и заставить его работать.
Я хотел бы иметь класс в отдельном файле CS, который уже имеет несколько экземпляров, определенных в нем самом, и список этих экземпляров, доступных для ссылки в Main. Возможно ли это? Должен ли я использовать для этого вложенный класс? Или же, что было бы лучшим способом сделать это?
Если это сработает, мне никогда не придется редактировать этот класс, кроме как добавлять новые экземпляры. Я просто не хочу создавать экземпляр этого класса в Main, потому что я не хочу случайно изменять некоторые значения там, каким-то неправильным щелчком и т. д. Я просто хочу иметь этот класс в отдельном файле и никогда больше не смотреть на него, просто ссылаясь на список, который уже есть.
Что я уже пробовал:
class Parent { private static List<Nested> list_of_instances = new List<Nested>(); readonly Nested instance1 = new Nested { parameter1=123, parameter2=1234}; readonly Nested instance2 = new Nested { parameter1=321, parameter2=4321}; public static List<Nested> List_of_instances { get { return list_of_instances; } } class Nested { public double parameter1 { get; set; } public double parameter2 { get; set; } public Nested() { list_of_instances.Add(this); } } }
И в основном я хочу получить список этих экземпляров по умолчанию, как это:
List<double> parameter1_list = new List<double>(); foreach (Parent.Nested item in Parent.List_of_instances) { parameter1_list.Add(item.parameter1); } ComboBox1.ItemsSource = parameter1_list;
В XAML у меня есть только простой ComboBox, который я хочу заполнить значениями parameter1 каждого экземпляра класса:
<ComboBox x:Name="ComboBox1"/>
В конце концов, ничего не добавляется в поле со списком, и я не получаю никаких ошибок в этой программе, поэтому я не знаю, с чего начать искать свою ошибку.
Является ли вся эта концепция просто неправильной или это выполнимо? Каков был бы правильный способ заставить это работать?