2015-07-28 4 views
-1

У меня есть частичный класс «ClassA» в сборке MyAssembly.Частичный класс в отдельной сборке

Может ли я продлить этот частичный класс в отдельной сборке «MyExtendedAssembly» с тем же именем «CLASSA»

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

Thanks

+1

Вы пробовали? Это, кажется, вопрос, который вы могли бы легко найти ответ на себя. – Jashaszun

+2

Я искал ваш точный заголовок вопроса и придумал это: http://stackoverflow.com/questions/3858649/partial-classes-in-separate-dlls –

+1

Зачем вам это нужно? Какую проблему ты пытаешься решить? – crush

ответ

2

Нет, частичные классы должны быть в одной и той же сборке. Они только частичны в исходном коде. Когда код компилируется, компилятор находит все частичные части и объединяет их во время компиляции в один класс.

В среде исполнения нет понятия частичного класса, только компилятор.

+0

Спасибо. Есть ли способы достижения подобной цели? – Satyajit

+0

@ user1731788, да, вам нужна какая-то плагиновая система. Объявите интерфейс, который имеет методы, которые вы хотите вызвать, затем используйте отражение, чтобы найти любые реализации и вызвать их. Используйте свойства или что-то другое на интерфейсе для сопряжения классов вызова и вызываемого абонента. Код, который мы используем для поиска назначаемых классов, размещен здесь: http://stackoverflow.com/questions/2159879/find-class-to-instantiate-by-name-without-namespace-or-assembly-net –

0

использовать расширение и интерфейс, если вы не любите наследование. Частичный класс - значит быть вместе в одной сборке, как партнер в семье. ^^,

Смежные вопросы