Так что я все еще новичок в C# на практике. Я потратил некоторое время на изучение о нем, но на самом деле использую его на практике.. мда. Итак, вот общая цель:
Мне нужно создать несколько экземпляров «Примера», и каждый из них должен содержать свой собственный индивидуальный список, который отслеживает несколько экземпляров другого класса, называемого «Входы», и может позже ссылаться на них. Я надеялся найти способ более или менее пометить каждый экземпляр, чтобы я мог вызывать отдельные экземпляры по определенной метке.
Мое затруднительное положение: экземпляр моего класса «Пример» будет создаваться несколько раз, и каждый экземпляр должен также несколько раз создавать экземпляр другого класса «Ввод» в зависимости от числа, указанного в переменной «_numInputs». Я буду заставлять класс «Пример» время от времени проверять «_numInputs», чтобы добавлять или удалять «Входы» из списка «Входы». Как я могу отслеживать отдельные экземпляры класса? В частности, чтобы удалить определенные экземпляры, если это необходимо.
примечание: я изучил закрытие и, насколько я понимаю, закрытие в первую очередь ориентировано на «маркировку» уникальных «типов» для методов/функций... но не экземпляров класса... если я Я ошибаюсь, не могли бы вы привести простой пример того, как я мог бы пометить каждый экземпляр класса, чтобы я мог ссылаться на него позже напрямую, не затрагивая другие экземпляры того же класса?
public class Example
{
public List<Input> inputs = new List<Input>();
public Example(int numInputs = 1)
{
for (int i = 0; i < _numInputs; i++)
{
inputs.Add(new Input());
}
}
}
static
(например, списокstatic
или словарь) — это может показаться удобным, но по сути вы создали утечку памяти: статическое поле теперь вообще не позволяет сборке мусора работать. (для этих объектов) - person Marc Gravell   schedule 27.11.2017