Eat your dinner
I am used to saying 'have/take your dinner' and 'eat your food'. Is it correct to say 'eat your dinner'?
Is it just a matter of style and preference?
Solution 1:
As stated in the comments above, "take your dinner" sounds a bit outdated. It is probably better to say "eat your dinner."
On another note: PERSONALLY, I have never heard anyone say, "Have your dinner." I have heard things like, "Come have dinner with us," but I have never heard the phrase, "Have your dinner" by itself. I'm not saying it's wrong though.
Solution 2:
I think it's a matter of style and context of the conversation.
For example when you say "take your dinner" that would make me think you're working late and taking your dinner break