Работа со свойствами C#
Начинаю осваивать парадигму ООП при помощи языка C# и в одном из заданий столкнулся с вопросом на который с листа не могу найти ответа. Подскажите, пожалуйста, насколько корректно работать со свойствами подобным образом:
using System;
using System.ComponentModel;
namespace Testing
{
class Properties:INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public long Clock
{
get { return Clock; }
set {
Clock = value;
PropertyChanged(this, new PropertyChangedEventArgs("XXX"));
}
}
public void WorkingCycle()
{ Clock++; }
}
}
Насколько корректно в аксессорах получать значение самого свойства и самому же свойству присваивать значение. С одной стороны, по скольку код связан с WinForms работа в таком виде кажется удобной. Или всё же стоит объявить поле и работать в аксессорах с ним?