@Fly3110
web developer

Как корректно решить CA2227:Collection properties should be read only для UserControl?

Есть юзерконтрол для показа коллекции в листбоксе.

Вот фрагмент кода (используются Fody.Bindables)

namespace UI.Controls.AdminSection.UsersPane
{
    [AddINotifyPropertyChangedInterface]
    public partial class ReferralsList : UserControl
    {
        public ReferralsList()
        {
            InitializeComponent();
        }

        [DependencyProperty]
        public ObservableCollection<Referral> Referrals { get; set; } =
            new ObservableCollection<Referral>();
    }
}


В xaml этот юзерконтрол прописан вот так (это для админки, показываются связанные с выбранным пользователем реферальные партнеры):
<usersPane:ReferralsList
                    Referrals="{Binding ReferralsForSelectedUser}" />


При этом вылезает ворнинг: CA2227: Collection properties should be read only

Как его корректно решить, чтобы все было по "фен-шую"?
Я ведь не могу убрать сеттер с Referrals или сделать его приватным или заменить его на функцию.
  • Вопрос задан
  • 51 просмотр
Пригласить эксперта
Ответы на вопрос 1
yarosroman
@yarosroman Куратор тега C#
C# the best
Уберите присвоение пустой коллекции полю, оно там абсолютно лишнее, тем более так понимаю вы используете PostSharp для генерации DependencyProperty?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы