Можно ли иметь две части (одно и то же пространство имен, одно и то же имя класса) в частичном классе в отдельных DLL?
c#
dll
partial-classes
штифтик
источник
источник
Ответы:
Из MSDN - Частичные классы и методы :
источник
Частичные занятия - это чисто языковая особенность. Когда сборка компилируется, файлы объединяются для создания типа. Невозможно распределить файлы по разным сборкам.
В зависимости от того, что вы хотите сделать, вы можете использовать методы расширения, чтобы выполнить то, что вам нужно.
источник
Нет, это невозможно. Когда сборка скомпилирована, класс должен быть закончен.
источник
В то время как другие ответы дают неприятное «Нет», что любой, кто заходил на эту страницу, не хотел видеть или слышать, я был поражен другой мыслью, которая еще не упоминалась здесь. Если бы частичные классы были разрешены для разных сборок, можно было бы получить доступ к закрытым членам существующих типов, которые не были им написаны, что позволило бы ему манипулировать ими способами, которые не были предназначены первоначальным автором, что поставило под угрозу функциональность всех наследующих классов слишком.
Мало того, эти классы в других сборках (и их дочерние элементы) необходимо будет перекомпилировать, чтобы это работало. Таким образом, логически невозможно разрешить разбиение класса на разные сборки.
источник
Вы можете использовать методы расширения, когда хотите добавить метод в класс в другой DLL. Недостатком этого метода является то, что вы не можете добавлять статические методы.
источник
Вопрос в том, почему вы хотите создать частичный класс в другой сборке? Вы можете определять абстрактные классы и интерфейсы для разных сборок, возможно, вам нужно разобраться с этим.
источник
Вы, вероятно, просто хотите создать класс Wrapper в своей собственной библиотеке, вокруг класса в библиотеке 3-ей части. Затем добавьте любую функциональность в класс-оболочку.
источник