Допустим, у меня есть приложение WPF, которое показывает ListBox с ArrayList, заполненным объектами произвольных типов, в качестве источника, и это приложение размещено в сборке 'A'. По умолчанию ListBox отображает возвращаемое значение метода пользовательского объекта «ToString». Если шаблон данных для этого типа объекта найден, ListBox будет использовать его для рендеринга.
Представьте, что есть еще одна сборка «B», которая ссылается на «A» и пытается расширить ее, предоставляя пользовательские шаблоны данных для определенных типов, которые будут использоваться в этом ListBox. Есть ли какой-нибудь способ сделать это, не зная, что «А» знает о Б?