Как найти все ссылки на объект и обнулить их? - C#
Формулировка задачи:
Всем здравствуйте.
я создаю объект:
далее в программе я могу его добавить в разные листы:
.....
возможно так-же я присваиваю этот объект полям других классов:
так вот в один прекрасный момент, я решаю удалить этот объект, и он должен удалиться из всех мест куда я его записал !!!
то есть у листов, в которые я его записал, должна быть вызвана функция list1.remove(obj)
а у классов как мне получить список существующих ссылок на этот объект, чтобы я мог это сделать?
var obj = new MyObject();
list1.add(obj); list2.add(obj);
SomeClass.obj = obj;
SomeClass.obj = null;
Решение задачи: «Как найти все ссылки на объект и обнулить их?»
textual
Листинг программы
class Program { static void Main(string[] args) { My res = new My(); List<object> test = new List<object>(); test.Add(res); Console.WriteLine(res == test[0]); res = null; Console.WriteLine(res == test[0]); Console.WriteLine(test[0].ToString()); Console.ReadKey(); } } class My { public override string ToString() { return "My Class"; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д