Я занимаюсь обратным проектированием старой службы Windows, написанной на vb.net с использованием ILSpy Я хочу переписать устаревший сервис в C #. Оригинальный сервис утечки памяти.
Когда я смотрю на источник, в классе обслуживания есть следующее объявление:
private static List<WeakReference> __ENCList = new List<WeakReference>();
Этот список используется только в конструкторе следующим образом (imineRun - класс обслуживания):
List<WeakReference> _ENCList = imineRun.__ENCList;
Monitor.Enter(_ENCList);
try
{
imineRun.__ENCList.Add(new WeakReference(this));
}
finally
{
Monitor.Exit(_ENCList);
}
Может ли этот список вызывать утечки памяти? Нужен ли этот список и какова его цель?