Ленивая инициализация для объектов, которые инициализируются отражением
У меня есть свой атрибут [Finder]
для полей и свойств, и у меня есть своего рода фабрика, которая инициализирует все поля и свойства, как я хочу. Вопрос: я хочу сделать ленивую инициализацию (объект создается только при вызове некоторых методов этого объекта) для объектов, которые я инициализирую. Примечание: свойства и поля могут быть разных типов.
2 ответа
В зависимости от того, как происходит инициализация, вы можете использовать новый Lazy<T>
тип. Другая возможность - возвращать автоматически созданный подкласс вашего класса - прокси-сервер, который проверяет состояние инициализации при каждом вызове метода и выполняет инициализацию при необходимости.
Вы можете использовать System.Lazy