Pergunta rápida: Quando você decide usar propriedades (em C #) e quando você decide usar métodos?
Estamos ocupados com esse debate e encontramos algumas áreas em que é discutível se devemos usar uma propriedade ou um método. Um exemplo é este:
public void SetLabel(string text)
{
Label.Text = text;
}
No exemplo, Label
é um controle em uma página ASPX. Existe um princípio que possa governar a decisão (neste caso) de tornar isso um método ou uma propriedade.
Aceito a resposta que é mais geral e abrangente, mas que também toca no exemplo que dei.
if()
verificações (conforme o MSDN). Mas isso é complicado, pois o usuário nem sempre está ciente do custo de processamento por trás do acesso a uma variável (propriedade) (ou seja, o código não está disponível) e, por razões de rigor, é necessário fazer um benchmark da propriedade. Ah, e um "bônus" que você não pode usar ponteiros com propriedades.