Ist es möglich, eine partielle Klasse in zwei Projekten zu deklarieren?

7

Stellen Sie sich vor, wir erstellen eine partielle Klasse in Projekt1 und wir haben ein Projekt2 mit einem Verweis auf Projekt1 .Wie ist es möglich, einige zu deklarieren? andere Methode der partiellen Klasse in Project2 ?

Danke

    
Arian 05.12.2011, 10:43
quelle

4 Antworten

13

Das partielle Konstrukt ist nur eine Compiler-Funktionalität, die es ermöglicht, eine Klasse in mehreren Quelldateien zu verteilen. Die kompilierte Klasse lebt immer noch in einer einzigen Klassenbibliothek (DLL-Datei).

Es gibt zwei Möglichkeiten, eine Klasse in einer anderen Bibliothek zu erweitern:

  • Vererbung, außer die Klasse ist sealed . Dies erfordert, dass der aufrufende Code alle Objekt-Instanziierungen behandelt, um die neue abgeleitete Klasse zu instanziieren.
  • Erweiterungsmethoden, die den Code so aussehen lassen, als gäbe es neue Methoden für diese Klasse, aber das ist nur syntaktischer Zucker. Es wird nicht die Klasse selbst ändern.
Anders Abel 05.12.2011, 10:48
quelle
10

Es ist nicht möglich, eine partielle Klasse in einem anderen Projekt zu erweitern. Partiell ist nur Compiler Zucker. Der Compiler erstellt nur eine Klasse in der resultierenden Assembly.

    
Wouter de Kort 05.12.2011 10:46
quelle
3

Sie können die Erweiterungsmethoden verwenden, mit denen Sie zusätzliche Methoden für die vorhandene Klasse     

Serghei 05.12.2011 10:45
quelle
1

Partielle Klassen können nicht außerhalb der Baugruppengrenzen existieren!

    
Numan 05.12.2011 10:49
quelle