【发布时间】:2012-03-25 18:11:12
【问题描述】:
我正在尝试了解创建方法Environment.GetCommandLineArgs 的团队的设计注意事项。
它可能是一个静态属性,非常类似于System.Web.HttpContext.Current。毕竟,返回的值一旦可用就不应改变。所以它更像是当前运行进程的一个属性。
我知道 .NET 中的任何属性都是 getter/setter 方法的语法糖。但这正是使用属性而不是显式 getter 方法的确切原因。
或者也许我在这里遗漏了什么?
你怎么看?
【问题讨论】:
-
BCL 团队尊重属性和方法之间的语义区别。仅当程序员可以/应该考虑对它们的调用等同于访问字段时,才使用属性。在这种情况下,
GetCommandLineArgs不能那样工作,所以它是一种方法。将其视为每次重新检索或计算值。
标签: .net methods properties environment-variables