Как лучше всего использовать открытые поля?

Когда я пишу класс, я всегда открываю приватные поля через открытое свойство, например:

private int _MyField;
public int MyField
{ get{return _MyField; }

Когда можно просто выставить публичное поле, например так:

public int MyField;

Я создаю структуру под названием Result, и я намерен сделать это:

public Result(bool result, string message)
{
   Result = result;
   Message = message;
}

public readonly int Result;
public readonly int Message;

Какова лучшая практика? Это когда-нибудь нормально делать?

Ответы на вопрос(11)

Ваш ответ на вопрос