Поделиться через


BL0007: параметр компонента "{0}" должен быть автоматическим свойством

Ценность
Идентификатор правила BL0007
Категория Использование
Исправление является разрушающим или неразрушающим. Неразрывный

Причина

Параметр компонента, являющийся общедоступным свойством C# класса компонента с [Parameter] атрибутом, не является автоматически реализованным свойством (автоматическим свойством).

Описание правила

Параметр компонента — это управляемый платформой канал обмена данными между родительским и дочерним компонентом. Разработчики не должны читать или записывать данные в параметр в get (getter) или set (setter) методе доступа, изнутри или за пределами компонента.

Возможные побочные эффекты взаимодействия непосредственно с параметром компонента включают бесконечные циклы отрисовки, непредвиденные дополнительные отрисовки и перезаписи значений параметров.

Устранение нарушений

Реализуйте параметр компонента как автоматическое свойство и переопределите OnParametersSet или OnParametersSetAsync в классе компонента, чтобы считывать или преобразовывать значение параметра. Дополнительные сведения см. в методе жизненногоOnParametersSet{Async} цикла.

Когда следует подавлять предупреждения

Не подавляйте предупреждение, вызванное этим правилом.