Свойство C # - это просто кусочек синтаксического сахара. Эта структура
public Foo MyValue { get ; private set ; }
точно так же, как если бы вы закодировали:
private Foo _myValue ;
public Foo
{
get
{
return _myValue ;
}
private set
{
this._myValue = value ;
}
}
В любом случае код, который фактически генерируется, выглядит примерно так:
private Foo _myValue ;
public Foo MyValue_get()
{
return this._myValue ;
}
private Foo MyValue_set( Foo value )
{
this._MyValue = value ;
}
Если вы решите создать свой собственный метод получения / установки, то, что происходит в теле модуля получения / установки, полностью зависит от вас. Здесь нет «правильного» или неправильного: это зависит от потребностей вашей программы.
Что касается ViewState
, ViewState
является частью ASP.Net. Он так или иначе не имеет отношения к свойствам. В вашем примере просто выставляется элемент ViewState
как публичное свойство чтения / записи.