У меня есть задача начальной загрузки, которая запускается при запуске.Я получаю объект, синглтон, вставленный в конструктор, а затем я устанавливаю статическое свойство для этого объекта.Не приведет ли это к тому, что класс Boostrapper не будет GCd?
public class BootstrapperTask : IStartupTask
{
public BootstrapperTask
(
ILocaliser<string> languageLocaliser
)
{
//here I set the static property
Local.LanguageLocaliser = languageLocaliser;
}
public async Task ExecuteAsync(CancellationToken cancellationToken = default)
{
// perform startup actions
}
}
Синглтон ILocaliser<string>
вставляется в конструктор languageLocaliser
, который ссылается на объект в контейнере DI.Local
статический класс затем ссылается на languageLocaliser
, который является частью BootstrapperTask
.Поскольку Local
является статическим и будет действовать до конца приложения, означает ли это, что BootstrapperTask
не может быть очищен из-за Local
, указывающего на languageLocaliser
?