ооп - частичный класс c#




Частичные классы в отдельных DLL (4)

Возможно ли иметь две части (одно и то же пространство имен, одно и то же имя класса) для частичного класса в отдельных DLL?


В то время как другие ответы действительно дают неприятное «Нет», что кто-либо, приземляющийся на этой странице, не хотел видеть или слышать, меня поразила другая мысль, о которой здесь еще не упоминалось. Если бы частичные классы разрешались по сборкам, можно было бы получить доступ к частным членам к существующим типам, которые не были написаны им, и позволить ему манипулировать ими способами, которые были непреднамерен оригинальным автором, тем самым подвергая опасности все наследующие классы.

Кроме того, эти классы в других собраниях (и их детях) необходимо перекомпилировать, чтобы заставить его работать. Таким образом, логически невозможно разрешить разделение класса на разные сборки.


Вопрос в том, почему вы хотите сделать частичный класс в другой сборке? Вы можете определить абстрактные классы и интерфейсы между сборками, возможно, вам нужно изучить это.


Из MSDN - Классы и методы :

Все определения частичного типа, которые должны быть частью одного и того же типа, должны быть определены в одной и той же сборке и в том же модуле (файл .exe или .dll). Частичные определения не могут охватывать несколько модулей.


Нет, это невозможно. Когда сборка компилируется, класс должен быть завершен.





partial-classes