2011-11-03 2 views
1

Прошел только набор правил для анализа кода Parasoft.Обоснование спецификации CLS: доступность объекта и его аксессуаров должна быть одинаковой.

public int testProperty // violation 
{ 
    private get // not matching property accessibility 
    { return _testValue; } 
    set 
    { _testValue = value; } 
} 

Исправить ситуацию, когда они совпадают. Причина указывает на раздел свойств на this MSDN Page on the CLS. Однако обоснование этого не упоминается на странице.

Я часто использую автоматические свойства формы public int MyProp { get; private set;}

Является ли это нарушением ЦБС? RFC

ответ

3

Если вы посмотрите на more recent version of that page (или даже .NET 2.0 version), у него нет этого правила. В основном он ушел между v1.1 и v2.0 ... в то же время, когда C# начал позволять им задаваться по-разному :)

Это было глупое правило, и глупая нехватка функций в C# 1, ИМО. Это , очевидно, полезно для того, чтобы иметь частный сеттер и публичный геттер. Это довольно редко, чтобы иметь это наоборот, по общему признанию ...

+0

Doh! MSDN требуется более заметный способ показать, что страница устарела. Я просто щелкнул ссылку, приведенную в описании правила parasoft. Спасибо, Джон. Это означает, что мне нужно проверить каждое правило SCA для парасоли сейчас :( – Gishu

+0

Версия * - это первое, что ниже названия :) Можете ли вы указать, к какой цели нацелен инструмент Parasoft? –

+0

Да, я думал больше о сером/отключенном цвете фона или огромном водяном знаке OUT-OF-DATE :) Нет, нет настройки целевой структуры. Есть только набор из около 400 правил - я только что провел пару дней с этим, я бы не собирал свои деньги за это. Половина правил довольно шелушатся. Более подробную информацию о моем блоге на случай, если кто-то заинтересован. – Gishu