2009-03-16 4 views
4

Gibt es eine Möglichkeit, Teilklassen zu erstellen, die im Solution Explorer gruppiert sind wie VS tut es mit Code hinter Klassen (zB Default.aspx und Default.aspx.cs.).Teil Klasse - Visual Studio 2008

Ich möchte MyClass.cs und MyClass.partial.cs erstellen und sie sollten nicht als zwei separate Dateien im Solution Explorer angezeigt werden.

+1

Warum die Klasse dann partiell machen? Einfach alles in einer Datei codieren. –

Antwort

10

Ich habe keine Möglichkeit gesehen, dies in Visual Studio selbst zu tun, aber es ist möglich, dies durch Bearbeiten der .csproj-Datei zu tun. Sie müssen den Ort finden, an dem die Datei, die Sie unter der anderen Datei anzeigen möchten, in der proj-Datei enthalten ist, und ein Element mit dem Inhaltssatz zum Namen der Datei hinzufügen, von der Sie abhängig sein möchten.

Beispiel:

<Compile Include="MyFile.g.cs"> 
    <DependentUpon>MyFile.cs</DependentUpon> 
</Compile> 
0

Nicht, dass ich weiß. Im Allgemeinen besteht der Zweck darin, generierten Code zu unterstützen (dh, Sie führen ihn nicht aus), so dass Sie ihn zu diesem Zweck nur in einen separaten Ordner legen müssen.

5

wenn Sie nennen Sie MyClass.designer.cs Datei, es tut.

Es gibt ein paar "magische Namen", die funktionieren (.xaml.cs ist eine andere, glaube ich).

Nebenbei gesagt, ich denke, dass partielle Klassen für nichts anderes als die Verwaltung generierten Codes verwendet werden sollten. Wenn Sie feststellen, dass Sie diesen Weg gehen, weil es zu viel Code in einer Datei gibt, sollten Sie sich überlegen, warum es so viel Code gibt und ihn in kleinere Klassen aufteilen, je nachdem, wie Sie ihn abbrechen würden nicht sagen, das ist dein Fall, aber es ist nur ein Ratschlag).

+1

Sie treffen den Punkt. Ich habe an einem riesigen Projekt mit schlechtem Design und viel zu viel "Ich mache alles" -Klassen gearbeitet. Es schreit nach Refactoring, aber es wird nicht aus mehreren (nicht technischen) Gründen getan. Also habe ich versucht, den Alptraum etwas weniger gruselig zu machen. – chbu

+0

Ich fühle für dich ... Viel Glück trotzdem. –