KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
In a business class I have : class Employee{ public Employee() { m_Manager = new Lazy<Manager>( () => return myRepository.GetManager(ManagerId); ); } public int ManagerId { get; set;} private Lazy<Manager> m_Manager; public Manager Manager { get { return m_Manager.Value; } } } This is working correctly, the custom repository is called only if accessing the Manager property. Now I want to "reset" my manager property if the ManagerId changed. How to do that ? I can do : class Employee{ public Employee() { m_Manager = new Lazy<Manager>( () => return myRepository.GetManager(ManagerId); ); } private int m_ManagerId; public int ManagerId { get { return m_ManagerId;} set { if(m_ManagerId != value) { m_ManagerId = value; m_Manager = new Lazy<Manager>( () => return myRepository.GetManager(ManagerId); ); } } } private Lazy<Manager> m_Manager; public Manager Manager { get { return m_Manager.Value; } } } Is there a cleaner way to do that ? Isn't there a m_Manager.Reset() or something like this ?
Tags (comma-separated)
Save Edits
Cancel