相关疑难解决方法(0)

重置System.Lazy

在商务舱我有:

 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;
          }
      }
 }
Run Code Online (Sandbox Code Playgroud)

这工作正常,仅在访问Manager属性时才调用自定义存储库.现在我想在ManagerId发生变化时"重置"我的经理属性.怎么做 ?

我可以 :

 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>( () …
Run Code Online (Sandbox Code Playgroud)

c#-4.0

37
推荐指数
2
解决办法
1万
查看次数

标签 统计

c#-4.0 ×1