c# – Should I name my property `Value` or `Message`?


I have a simple object called FeedbackMessage which stores the display name of the user that submitted feedback, and the feedback they submitted. With that in mind, the property that stores the feedback supplied is where I’m questioning myself. It’s not that either way really bothers me, it’s more of wanting to know how each method is perceived by peers in my field.

I have two ways of naming it in mind:

public class FeedbackMessage {
    public string Value { get; set; }
    // OR
    public string Message { get; set; }
}

I’m more accustomed to the second version feedbackMessage.Message, but I think naming it Message in this case may be a little redundant and that feedbackMessage.Value seems a little less so. The object never has the need to expand any further, and each message is displayed individually.


Which version follows common practice in this scenario, and why?

My thoughts on where the answer will be are that I should use Message over Value every time because it makes it clear that the property you’re pulling back is a Message whereas Value is less clear and could be a string representation of a JSON version of the object for all I know as the end user. I just want to validate my thought process here and correct it if I’m wrong.