Как разрешить “неиспользованное свойство Resharper” предупреждение на свойствах только для участников Дисплея/Значения?

Я определил два свойства "Name" и "ID" для объекта, который я использую для DisplayMember и ValueMember ComboBox с источником данных BindingList.

Я недавно установил Resharper для оценки его. Resharper дает мне предупреждения на объекте, что эти два свойства не использованы.

Пример кода:

BindingList SampleList = new BindingList();
// populate SampleList
cmbSampleSelector.DisplayMember = "Name";
cmdSampleSelector.ValueMember = "ID";
cmbSampleSelector.DataSource = SampleList;

private class ClassSample
{
    private string _name;
    private string _id;

    public string Name // Resharper believes this property is unused
    {
        get { return _name; }
    }

    public string ID // Resharper believes this property is unused
    {
        get {return _id; }
    }

    public ClassSample(string Name, string ID)
    {
        _name = Name;
        _id = ID;
    }
}

Я делаю что-то не так, или действительно ли Resharper невежествен об этом конкретном использовании?

13
задан JYelton 17 June 2010 в 17:03
поделиться

3 ответа

JetBrains предлагает решать эти проблемы с помощью атрибутов (доступных в Resharper -> Options -> Code Annotations). Добавьте атрибуты в ваш проект/решение, а затем пометьте эти свойства атрибутом UsedImplicitly. Теперь Resharper будет считать, что свойства используются через Reflection или позднюю привязку или что-то еще.

17
ответ дан 1 December 2019 в 21:51
поделиться

Когда вещи используются через отражение (что, как я полагаю, и делает фреймворк в вашем случае), resharper не может определить это (по крайней мере, в его текущей форме).

1
ответ дан 1 December 2019 в 21:51
поделиться

Вы устанавливаете свойства через отражение (именно к этому сводится приведенный выше код). Resharper может анализировать только статическое поведение (за некоторыми очень ограниченными исключениями), поэтому он не может знать, что эти свойства действительно используются.

Однако вы можете просто подавить предупреждения. Просто щелкните на имени свойства и нажмите Alt-Enter, затем выберите опцию подавления предупреждения. Это добавит комментарий // ReSharper disable вокруг имени переменной.

3
ответ дан 1 December 2019 в 21:51
поделиться
Другие вопросы по тегам:

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