Laden...

Formularcode in mehreren Dateien (partial class): VS kommt nicht richtig damit klar

Erstellt von moelski vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.690 Views
M
moelski Themenstarter:in
183 Beiträge seit 2011
vor 12 Jahren
Formularcode in mehreren Dateien (partial class): VS kommt nicht richtig damit klar

Moin !

Ich habe am WE versucht meinen Formularcode durch "partial class" auf verschiedene CS Dateien aufzusplitten.
Das hat auch soweit funktioniert bis auf zwei Merkwürdigkeiten:

  1. Bei einem Doppelklick auf eine zusätzliche CS Dateien zeigt VS2010 ein leeres Forumlar. Erst ein Rechtsklick auf den Dateinamen und dann "View Code" bringt den Quellcode zu Tage.
  2. Wenn ich z.B. den Code eines Button Klick Eventhandlers in eine andere Datei auslagere, dann springt VS2010 beim Doppelklick auf den Button nicht in die Datei. Es wird die zuerst erstellte Formular Code Datei geöffnet und der Cursor steht am Ende.

Mein Test bestand übrigens aus dieser zustätzlichen Code Datei:

namespace Part_test
{
    partial class Form1
    {
        private void btnbutton1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Hallo Welt!");
        }
    }
}

Ist das so gewollt in VS2010? Mache ich etwas grundlegend falsch?
Oder anders gefragt ... Kriegt man VS dazu beim Doppelklick auf eine zusätzliche Code Datei direkt den Code anzuzeigen und nicht ein leeres Forumlar und bei Eventhandlern z.B. in die richtige Datei zu springen?

Greetz Dominik

6.911 Beiträge seit 2009
vor 12 Jahren

Hallo,

Mache ich etwas grundlegend falsch?

Ja - überdenke die Architektur der Anwendung. Eine Aufteilung in mehrer partielle Klassen ist nicht sinnvoll (außer die vom Designer erzeugte).
Suche mal im Forum danach - das wurde schon einige male diskutiert.

Aus dem Grund dass es schlechter Stil ist gehe ich auf die anderen Frage nicht ein.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

M
moelski Themenstarter:in
183 Beiträge seit 2011
vor 12 Jahren

Moin !

Ohje, habe gerade auch im Web noch etwas geforscht.

Ok, ich werde es als Versuch abtun und den Code eher mit Regions strukturieren 🙂

Danke dennoch.

Greetz Dominik

Gelöschter Account
vor 12 Jahren

Eine Aufteilung in mehrer partielle Klassen ist nicht sinnvoll (außer die vom Designer erzeugte).

Möchte ich so pauschal nicht stehen lassen. Es ist in einigen wenigen! Fällen durchaus ganz hilfreich, wenn z.b. 2 Entwickler an der gleichen Klasse arbeiten müssen(nicht toll aber kommt schon mal vor). Da ist SVN Stress vorprogrammiert. Partielle Klassen können da schon mal sinnvoll sein.

Hinweis von gfoidl vor 12 Jahren

Partielle Klassen hier bitte nicht weiter diskutieren. Dazu gibt es schon genügend eigene Threads.

6.911 Beiträge seit 2009
vor 12 Jahren

Hallo moelski,

auch das ist suboptimal. Suche mal nach Regions im Forum.
Zerlege die Anwendung bzw. das was die Form machen soll besser in einzelne logische Komponenten und rufe von der Form aus nur die Methoden dieser Komponenten auf. Beachte dabei [FAQ] Warum blockiert mein GUI?

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

T
111 Beiträge seit 2005
vor 12 Jahren

Hallo moelski,

also ich arbeite lieber mit partial als mit regions, daher kann ich Dir hier ein bisschen weiter helfen:

1.) Das öffnen der Dateien

öffne mit der rechten Maustaste über einem File das Contextmenü und wähle dort "Open With...". Dort kannst Du dann den "CSharp Editor" als default setzen und ab sofort öffnet sich bei einem Doppelclick immer der Editor.

2.) Events werden aus dem Designer immer in das Hauptformular eingefügt und auch dort gesucht. Man sollte ja sowieso immer aus den Events eine Methode aufrufen und diese kannst Du dann in einem anderen File unterbringen.

mfG
Thomas

5.742 Beiträge seit 2007
vor 12 Jahren

Was mach vielleicht noch zu partial / regions sagen sollte, um die Diskussionen darüber zusammenzufassen:
Darüber, ob man beide dazu verwenden sollte, Code zu strukturieren, existieren verschiedene Meinungen - in jedem Fall sind sie kein Ersatz für unzureichende Architektur und kein Mittel gegen daraus entstehende "Monsterklassen".

M
moelski Themenstarter:in
183 Beiträge seit 2011
vor 12 Jahren

Moin !

@thomas.at:
Danke für die Infos !

in jedem Fall sind sie kein Ersatz für unzureichende Architektur und kein Mittel gegen daraus entstehende "Monsterklassen"

Gibt es denn hier im Forum (oder generell im Web) einen Artikel über Architektur Tips bzw. eine art "Guideline"?
Oder eine Liste mit Vorschägen die man bei einer (in meinem Fall WinForms) Anwendung vermeiden sollte?

Grüße Dominik

Greetz Dominik

6.911 Beiträge seit 2009
vor 12 Jahren

Hallo moelski,

das was du suchst wurde mehr oder weniger alles schon mal im Forum diskutiert. Da deine Frage jedoch zu allgemein ist kann ich keinen Link posten der das alles abdeckt.

Interessant im Zusammenhang mit region, etc. sind aber Codegestaltung, Übersichtlichkeit und NoGo's? und Kommentare (und Regions) zur optischen Gliederung (z.B. Trennlininen) einsetzen: Best Practice?

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"