【问题标题】:C# setting multiple properties through a single assignmentC# 通过单个赋值设置多个属性
【发布时间】:2009-02-24 17:28:16
【问题描述】:

我有一个属性被分配为:

public string propertyA{get;set;}

我想在该属性设置为在类中分配另一个属性时自动调用一个方法。触发呼叫的最佳方式?

【问题讨论】:

    标签: c# properties


    【解决方案1】:

    您不必使用只是简写的语法。如果你扩展它,你可以在 setter 中做任何你喜欢的事情。

     public string PropertyA
     {
           get { return a; }
           set 
           {
                a = value;
                doStuff(); 
           }
     }
    

    【讨论】:

      【解决方案2】:

      我认为您将不得不回到老式的方式来处理您的财产。

      private string _PropertyA;
      
      public string propertyA
      {
          get
          {
             return _PropertyA;
          }
          set
          {
             _PropertyA=value;
             //Set other parameter
          }
      }
      

      【讨论】:

        【解决方案3】:

        扩展属性设置器并分配其他属性。

        【讨论】:

          【解决方案4】:

          手动添加支持字段并提供一些代码以在设置器中执行您想要的操作。

          private string propertyA;
          public string PropertyA
          {
              get { return this.propertyA; }
              set
              {
                   this.propertyA = value;
                   this.propertyB = value + "B";
              }
          }
          

          【讨论】:

            【解决方案5】:

            定义设置器。

            在它里面要么触发一个事件,要么直接分配其他属性。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多