C # установка нескольких свойств с помощью одного присваивания - PullRequest
1 голос
/ 24 февраля 2009

У меня есть свойство, которое назначается как:

public string propertyA{get;set;}

Я хочу вызывать метод автоматически, когда для этого свойства установлено другое свойство в классе. Лучший способ вызвать звонок?

Ответы [ 5 ]

14 голосов
/ 24 февраля 2009

Вам не нужно использовать тот синтаксис, который является просто сокращением. Если вы развернете его, вы можете делать все что угодно в сеттере.

 public string PropertyA
 {
       get { return a; }
       set 
       {
            a = value;
            doStuff(); 
       }
 }
4 голосов
/ 24 февраля 2009

Я думаю, вам придется вернуться к тому, чтобы сделать вашу собственность старомодным способом.

private string _PropertyA;

public string propertyA
{
    get
    {
       return _PropertyA;
    }
    set
    {
       _PropertyA=value;
       //Set other parameter
    }
}
2 голосов
/ 24 февраля 2009

Добавьте поле поддержки вручную и предоставьте некоторый код, чтобы делать то, что вы хотите в сеттере.

private string propertyA;
public string PropertyA
{
    get { return this.propertyA; }
    set
    {
         this.propertyA = value;
         this.propertyB = value + "B";
    }
}
2 голосов
/ 24 февраля 2009

Разверните установщик свойства и назначьте другое свойство.

1 голос
/ 24 февраля 2009

Определить сеттер.

Внутри него либо запускается событие, либо напрямую назначается другое свойство.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...