Is it possible to have partial classes across projects.
e.g. Project 1 has a Customer Class. Project2 which is an optional module adds to the customer class by attaching an order class, and utilising the original Customer Class.
You cannot use the partial
keyword to split the code for a class between projects. The partial
keyword is a compiler trick; the compiler will output one single class out of the parts it finds, so all parts of the class must exist with the same binary file. Once the class is compiled, there is no trace left of it being a partial class.
If you want to extend an existing class you will either need to inherit it (if it is not sealed), or create your own new class that contains the classes that you wish to combine information from.
No. A partial class must be compiled within the same context, i.e. assembly.
What you probably want to do is use Inheritance.
partial classes are entirely a compiler construct - it basically concatenates the class definitions together, then compiles that. There is no concept of a 'partial class' in .net, so you cannot split partial classes across different compilation units (projects or assemblies)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With