Принудительное использование this и base во время компиляции в Visual Studio / C#

При расширении классов я считаю очень наглядным использование ключевого слова base (MyBase в VB) при доступе к методам базового класса. И ключевое слово this (Me в VB) при доступе к функциям в классе, расширяющем базовый класс. Это также относится к «плоской» структуре без наследования.

Мне легче это прочитать:

public class World
{
    public String baseName = "World";
}


public class Hello : World
{
    public String thisName = "Hello";


    public String GetNames()
    {
        return this.thisName + " " + base.baseName;
    }
}

Чем это:

...

    public String GetNames()
    {
        return thisName + " " + baseName;
    }

...

Теперь у меня вопрос: можно ли принудительно использовать this и base во время компиляции в Visual Studio / C#, чтобы компилятор выдавал ошибку или предупреждение, если вы не используете эти ключевые слова в своем коде?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
0
219
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Взгляните на StyleCop.

http://code.msdn.microsoft.com/sourceanalysis

Там есть некоторые правила, которые должны делать то, что вы хотите. Вы можете настроить его так, чтобы любые нарушения стиля отображались как предупреждения или ошибки.

К вашему сведению, по умолчанию StyleCop обеспечивает это (в качестве альтернативы некоторому соглашению об именах данных-членов) и препятствует излишним базовым спецификациям.

Greg D 08.10.2008 01:04

Похоже, это не работает с Visual Studio Team System 2008. Установка работает нормально, но VS вылетает, когда я пытаюсь использовать плагин. Это чистая установка VS, без установленных надстроек.

cllpse 08.10.2008 01:13

Мы используем StyleCop 4.3 с Visual Studio Team System 2008 как в простом, так и в (только что обновленном) вариантах SP1, и он отлично работает, поэтому принципиальной несовместимости нет (хотя, к сожалению, это не помогает с вашей проблемой, просто сообщая вам об этом. может работать нормально).

Greg Beech 08.10.2008 02:33

Вы также можете проверить Аудитор кода SSW

К сожалению, я не знаю, как добиться этого в компиляторе.

Другие вопросы по теме