Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье вы узнаете, как создать методы Reset
и ShouldSerialize
являются необязательными методами, которые можно указать для свойства, если свойство не имеет простого значения по умолчанию. Если свойство имеет простое значение по умолчанию, следует применить DefaultValueAttribute и указать значение по умолчанию конструктору класса атрибутов. Любой из этих механизмов включает следующие функции в конструкторе:
- Свойство предоставляет визуальное указание в браузере свойств, если оно было изменено со значения по умолчанию.
- Пользователь может щелкнуть правой кнопкой мыши на свойстве и выбрать Сброс, чтобы восстановить свойство до значения по умолчанию.
- Конструктор создает более эффективный код.
Дополнительные сведения о свойствах см. в разделе Reset и ShouldSerialize.
Вспомогательный код
В этой статье показано, как Reset
и ShouldSerialize
методы путем создания элемента управления компасом розы. Если вы работаете с собственным пользовательским элементом управления, вы можете пропустить этот раздел.
Добавьте в ваш код следующее перечисление:
public enum Directions { None, North, NorthEast, East, SouthEast, South, SouthWest, West, NorthWest, }
Public Enum Directions None North NorthEast East SouthEast South SouthWest West NorthWest End Enum
Добавьте пользовательский элемент управления с именем
CompassRose
.Добавьте свойство с именем
Direction
типаDirections
в элемент управления пользователем.public Directions Direction { get; set; } = Directions.None;
Public Property Direction As Directions = Directions.None
Сброс
Метод Reset<PropertyName>
сбрасывает соответствующее свойство <PropertyName>
к значению по умолчанию.
Следующий код сбрасывает свойство Direction
на None
, которое считается значением по умолчанию для элемента управления компасной розы.
private void ResetDirection() =>
Direction = Directions.None;
Private Sub ResetDirection()
Direction = Directions.None
End Sub
Следует сериализировать
Метод ShouldSerialize<PropertyName>
возвращает логическое значение, указывающее, изменилось ли свойство резервного копирования со значения по умолчанию и должно быть сериализовано в код конструктора.
Следующий код возвращает значение true, если свойство Direction
не равно None
, указывающее, что выбрано направление:
private bool ShouldSerializeDirection() =>
Direction != Directions.None;
Private Function ShouldSerializeDirection() As Boolean
Return Direction <> Directions.None
End Function
Пример
В следующем коде показаны методы Reset
и ShouldSerialize
для свойства Direction
:
public partial class CompassRose : UserControl
{
public Directions Direction { get; set; } = Directions.None;
public CompassRose() =>
InitializeComponent();
private void ResetDirection() =>
Direction = Directions.None;
private bool ShouldSerializeDirection() =>
Direction != Directions.None;
}
Public Class CompassRose
Public Property Direction As Directions = Directions.None
Private Sub ResetDirection()
Direction = Directions.None
End Sub
Private Function ShouldSerializeDirection() As Boolean
Return Direction <> Directions.None
End Function
End Class
.NET Desktop feedback