2009-09-30 2 views
0

Я использую интерфейс Injection Injection to Inject в несколько моих представлений. Одно из требований, которое мне нужно, - ввести интерфейс в пользовательский элемент управления. Я попытался использовать атрибут ServiceDependency для ввода интерфейса, но он не работает.Как ввести зависимость в пользовательский элемент управления

public interface ISearchService 
{ 
    void CustomizeLayout(ColumnCollection collection); 
} 
IService _service; 

[ServiceDependency] 
public IService Service 
{ 
    get 
    { 
     return _service; 
    } 
    set 
    { 
     _service = value; 
    } 
} 

затем я позвонил в службу поддержки.CustomizeLayout (this.Columns) в своем пользовательском элементе управления. Он выбрасывает Object ref, не установленный в экземпляр объекта (Сервис приходит как null).

Может ли кто-нибудь сказать мне, что ват может быть проблемой или как ввести зависимость в элемент управления аналогичным образом, который мы делаем для форм выигрыша.

+0

извините, я не знаю о 0% accpet rate? Что это такое – 2009-09-30 09:34:06

+0

@Punit Singhi: http://blog.stackoverflow.com/2009/08/new-question-asker-features/ –

+1

Какая технология вы спрашиваете? Windows Forms? ASP.NET? Какой контейнер DI? –

ответ

0

Прошло некоторое время с тех пор, как я использовал CAB, поэтому простите меня, если я ошибаюсь. Вероятно, ваша проблема заключается в том, что пользовательский элемент управления не создается CAB, а CAB не знает, какой элемент управления имеет зависимости, когда он создает представление, содержащее элемент управления. Я помню, что у меня была проблема, но не могу вспомнить точное решение :-(

+0

да это точная проблема, я пытаюсь ее найти, только одно можно добавить элементы управления как элементы коллекции workitem. – 2009-10-01 04:13:23

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