Я пытаюсь понять конструктивные соображения команды, которая создала метод Environment.GetCommandLineArgs
.Environment.GetCommandLineArgs - почему это метод? Почему не собственность?
Это могло быть статическое свойство, очень похожее на System.Web.HttpContext.Current
. В конце концов, возвращаемое значение не должно меняться после его появления. Таким образом, это больше похоже на свойство текущего текущего процесса.
Я знаю, что любое свойство в .NET является синтаксическим сахаром для методов getter/setter. Но это точная причина использования свойства, а не явного метода getter.
Возможно, есть что-то, что мне здесь не хватает?
Как вы думаете?
Команда BCL уважала семантическое различие между свойствами и методами. Свойства используются только тогда, когда программист может/должен рассматривать вызов, эквивалентный доступу к полю. В этом случае 'GetCommandLineArgs' не работает таким образом, поэтому это метод. Подумайте об этом как о возврате или вычислении стоимости заново каждый раз. –