I think people mean that it violates ABI (binary) compatibility, not API (source code) compatibility.
Although the syntax is identical, behind the scenes, access to properties and access to member variables compiles differently.
However, if your variable / property is not used from an assembly that you yourself are not compiling, then there is no harm in changing it. But if it is part of an open interface, then it is better to make it proprietary so that you do not regret it in the future.
source share