Changing fields to property is a breaking change under what scenarios?

后端 未结 4 645
轻奢々
轻奢々 2020-12-07 02:24

While reading Jon Skeet\'s article on fields vs properties he mentions that changing fields to properties is a breaking change.

I would like to understand the common

相关标签:
4条回答
  • 2020-12-07 03:04

    If you have a public field and another assembly has code that is using it, it will need to be recompiled.

    IOW the definition of breaking includes "will need to be recompiled".

    0 讨论(0)
  • 2020-12-07 03:10

    In Windows Forms at least, you can only databind things like DataGridViewColumns to properties on your business objects, not fields. So if your class was being used as a DataSource for a grid, its properties changing to fields would result in some new bugs for the grid owner.

    0 讨论(0)
  • 2020-12-07 03:14

    You can pass a field as a ref or out parameter, or take its address in an unsafe context, whilst you cannot do these with a property.

    0 讨论(0)
  • 2020-12-07 03:19

    Properties can throw any arbitrary exceptions, whereas fields can't (at least when compiler knows about field assignment at compile time).

    0 讨论(0)
提交回复
热议问题