I am aware of the advantages of using properties over fields, like being able to provide additional logic when required in the future.
But I really wonder why it\'s not
Since you can't declare Fields in Interfaces, you should not use Public Fields. All fields should be private only.
If your code depends upon Abstractions, you need to use Interfaces and here the Public Fields are not available.