Обоснование спецификации CLS: доступность свойства и его методов доступа должны быть идентичны - PullRequest
1 голос
/ 03 ноября 2011

только что запускал набор правил инструмента анализа кода Parasoft.

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

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

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

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

1 Ответ

3 голосов
/ 03 ноября 2011

Если вы посмотрите на более свежую версию этой страницы (или даже .NET 2.0 версии ), у нее нет этого правила. В основном это произошло между v1.1 и v2.0 ... в то же время, когда C # начал разрешать их указывать по-разному:)

Это было глупое правило и глупое отсутствие возможностей в C # 1, IMO. очевидно полезно иметь возможность иметь частный установщик и публичный получатель. По общему признанию это довольно редко, наоборот ...

...