Если вы сделаете атрибут общедоступным в C #, то позже вам потребуется изменить его на свойство, вам также необходимо перекомпилировать весь код, который использует исходный класс. Это плохо, поэтому делайте любые открытые атрибуты в свойства с первого дня «на всякий случай».
Если у вас есть атрибут, который используется из другого кода, то позже вам нужно изменить его на свойство, тогда вы просто измените его, и больше ничего не должно произойти. Поэтому используйте обычные атрибуты до тех пор, пока не обнаружите, что вам нужно что-то более сложное.