Been through the ice-cream/chockies/lollies/sweet things before dinner here! I explain that he needs to eat the food that helps his body work properly first, then the nice stuff that only makes his tongue feel nice after, if there's still room for it (and wouldn'tchya know it, there always is!). If he asks again I say "Can you tell me what I just told you about eating x before dinner?", and if he gets it mixed up we talk about it again. If he keeps asking after that I say "I already told you why you can't eat it before dinner so if you ask any more I'm not going to answer because you already know". It usually doesn't get to that final stage, and if it does he resigns himself. I mean, WE know why ice cream before dinner is no good after a lifetime of knowing (though not when we were little, we put it together when we were a lot older, I bet), and kids need to be told what the reasons are and have it reiterated from time to time.