C# 将字段更改为属性实际上意味着什么;打破;?
在属性与字段的辩论中,经常出现的一点是“将变量更改为属性是一个突破性的更改。” 假设我有一个使用库的应用程序。在库中,我有一个整数字段“Car.MaxSpeed”,我将其更改为属性。如果我下一次构建应用程序,代码仍然是指“Car.MaxSpeed”。因此,在使用此选项的地方,应用程序仍将接收int。无需更改代码即可访问属性而不是字段 我知道这会影响应用程序中使用的反射,但反射总是作为属性与字段辩论中的一个单独点列出 那么“断裂”到底是什么呢 编辑:C# 将字段更改为属性实际上意味着什么;打破;?,c#,properties,field,C#,Properties,Field,在属性与字段的辩论中,经常出现的一点是“将变量更改为属性是一个突破性的更改。” 假设我有一个使用库的应用程序。在库中,我有一个整数字段“Car.MaxSpeed”,我将其更改为属性。如果我下一次构建应用程序,代码仍然是指“Car.MaxSpeed”。因此,在使用此选项的地方,应用程序仍将接收int。无需更改代码即可访问属性而不是字段 我知道这会影响应用程序中使用的反射,但反射总是作为属性与字段辩论中的一个单独点列出 那么“断裂”到底是什么呢 编辑: 这被标记为的副本,因此它要求我对其进行编辑。我
这被标记为的副本,因此它要求我对其进行编辑。我认为很明显,(我认为不如恒星那样)答案“属性可以抛出任意异常”并没有回答我的问题。见鬼,即使你只看了这两个问题的标题,你也应该注意到一个不同之处。打破改变意味着需要重新编译项目 您可能有一个设置,在该设置中,您的类库项目通过VisualStudio项目引用在应用程序项目中被引用。使用此设置,您将无法看到突破性的更改,因为一旦您构建控制台应用程序,它将从类库中拾取更改,因为依赖项目也必须构建 查看实际的断裂变化。执行以下步骤:
dll
文件打破变更意味着需要重新编译项目 您可能有一个设置,在该设置中,您的类库项目通过VisualStudio项目引用在应用程序项目中被引用。使用此设置,您将无法看到突破性的更改,因为一旦您构建控制台应用程序,它将从类库中拾取更改,因为依赖项目也必须构建 查看实际的断裂变化。执行以下步骤:
dll
文件我明白为什么会这样,但我不明白为什么会有人这样做。因此,这导致了一个我理解为什么会发生这种情况,但我不理解为什么有人会这样做。所以这导致了