Имеется абстрактный (базовый) класс (для примера):
public abstract class ClassBase
{
protected static Logger logger = new Logger("logger_name");
}
И два потомка:
public class Class1 : ClassBase {}
public class Class2 : ClassBase {}
У потомков должен быть общий логгер. Logger
реализует IDisposable
. Как быть в таком случае? Мы же ведь не может выполнить Dispose
на данном члене
Никак. Статические поля не нужно Dispose()
-ить, ведь они будут использованы другими экземплярами класса, создаваемыми после окончания работы Dispose()
данного экземпляра.
Возможно, вам понадобится «вручную» закрыть логгер в конце работы программы, в тот момент, когда вы можете гарантировать, что экземпляров данного класса (и его потомков) больше нет. Более правильное решение — изменить дизайн логгера, чтобы он не требовал вызова Dispose()
в конце работы.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть два таблицы: таблица новостей и таблица картинокВ таблице картинок есть поле NewsId которое связано с Id новостей
Добрый день, нужна ваша помощь в оптимизации кодаЗадача : зашифровать часть байтов в файле алгоритмом aes c# Как я сделал:
У меня есть база логинов, паролей, портов и ip адресовСуть в том, что нужно реализовать отдельный перебор для каждого ip адреса в потоках