I don't think I fully understand the issue, because to me,
it sounds like you could simply use by-reference arguments.
The fact that .Net is showing a dialog, and you want to return
information when the user clicks Save button, doesn't change that.
You could have a .Net method that returns a boolean to indicate
whether the user dismissed the dialog by clicking the Save button. If
and only if the user clicks Save, the .Net method would update the
values of the by-ref arguments. I would think that would solve the
problem, but again, I'm not sure I understand the question, because
the original question was vague -- "some parameters" is pretty
vague.
At any rate, I can't imagine DDE being necessary.
If you decide your .Net method needs to store some information in
static variables, then, that should work. But, to retrieve the
values, you could just add more static Getter methods that do nothing
but return that static information. No need to use DDE for that.
An alternative would be for your .Net method to control MapInfo, by
using MapInfo's Do and Eval methods. The Named Views sample app
demonstrates how to do this, and the .Net chapter in the MapBasic User
Guide describes how it works.