Следуйте Правилам именования Microsoft . Правила для использования в полевых условиях указывают, что это должен быть camelCase, а не префикс. Обратите внимание, что общее правило не является префиксом; конкретное правило не должно заключаться в префиксе, чтобы различать статические и нестатические поля.
Не применять префикс к именам полей или статических имен полей. В частности, не применяйте префикс к имени поля, чтобы различать статические и нестатические поля. Например, неверно применять префикс g_ или s_.
и (из Общие правила именования )
Не используйте подчеркивания, дефисы или любые другие не буквенно-цифровые символы.
РЕДАКТИРОВАТЬ : Я отмечу, что документы не являются специфическими в отношении частных полей, но указывают, что защищенные поля должны быть только camelCase. Я полагаю, что из этого можно сделать вывод, что любое соглашение для частных полей приемлемо. Конечно, общедоступные статические поля отличаются от защищенных (они пишутся с большой буквы). Мое личное мнение заключается в том, что защищенные / частные не достаточно различаются по объему, чтобы оправдать различие в соглашении об именах, тем более, что все, что вы, похоже, хотите сделать, это дифференцировать их от параметров. То есть, если вы будете следовать рекомендациям для защищенных полей, вам придется относиться к ним иначе, чем к частным полям, чтобы отличать их от параметров. Я использую this
, когда обращаюсь к членам класса, чтобы прояснить различие.
РЕДАКТИРОВАТЬ 2
Я принял соглашение, используемое в моей текущей работе, которое заключается в добавлении префиксных переменных экземпляра к подчеркиванию и, как правило, только раскрытии переменных защищенного экземпляра в качестве свойств с использованием PascalCase (обычно это autoproperties). Это не было моим личным предпочтением, но это то, с чем мне стало комфортно и, возможно, я буду следовать, пока не появится что-то лучшее.