Ist es OK, um eine überlastung ShowDialog() so, dass ein Kind die form der Informationen liefert als ein out-parameter?

In einer früheren Frage über gewusst wie: zurückgeben einer Zeichenfolge aus einem dialog-Fenster, yapiskan vorgeschlagen überlastung des untergeordneten Formulars ShowDialog () - Methode, um einen out-parameter.

Meine Frage ist, ob oder nicht, das ist ein guter Ansatz in C#.

Hier finden Sie einige Beispiel-code, basierend auf yapiskan Vorschlag. In der child-form (in diesem Beispiel, es ist eine form mit einer textbox drauf), müssen Sie nur fügen Sie die ShowDialog-überlast-und ordnen Sie UI-Werte der out-parameter:

public DialogResult ShowDialog(out string s)
{
    DialogResult result = this.ShowDialog();
    s = this.textBox1.Text;
    return result;
}

Und zeigen Sie das Formular, und rufen Sie die Eingabe von text, Sie dies tun:

using (CustomDialog frm = new CustomDialog())
{
    string s;
    if (frm.ShowDialog(out s) == DialogResult.OK)
    {
        //do something with s
    }
}

Einen Vorteil, den ich mir vorstellen kann ist, dass dieser Ansatz zwingt den Benutzer, der CustomDialog Formular aus, um die Informationen, die es enthält, durch die form der ShowDialog-Methode (anstelle von einem wer-weiß-was-es-genannt-Methode wie GetMyData() oder so).

InformationsquelleAutor MusiGenesis | 2008-11-11
Schreibe einen Kommentar