.netmvvmprojects

Partial Classes across Projects


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.


Solution

  • 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.