2009-09-30 4 views
0

J'utilise l'injection de dépendance pour injecter l'interface dans mes quelques vues. Une des exigences que j'ai besoin d'injecter l'interface dans le contrôle personnalisé. J'ai essayé d'utiliser l'attribut ServiceDependency pour injecter l'interface, mais cela ne fonctionne pas.comment injecter la dépendance dans un contrôle personnalisé

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

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

alors je m appelle Service.CustomizeLayout (this.Columns) dans mon contrôle personnalisé. Il renvoie Object ref non défini sur l'instance d'un objet (le service vient en tant que null). Quelqu'un peut-il me dire quel pourrait être le problème ou comment injecter des dépendances dans un contrôle similaire à celui que nous faisons pour les formes gagnantes?

+0

désolé je ne suis pas au courant de 0% taux d'accpet? Qu'est-ce –

+0

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

+1

Quelle technologie posez-vous? Windows Forms? ASP.NET? Quel conteneur DI? –

Répondre

0

Cela fait un moment que j'ai utilisé CAB donc pardonnez-moi si je me suis trompé. Votre problème est probablement que le contrôle personnalisé n'est pas créé par CAB et CAB ne connaît pas le contrôle ayant des dépendances lorsqu'il crée la vue contenant le contrôle. Je me souviens avoir le problème, aussi, mais ne peut pas me rappeler la solution exacte :-(

+0

ouais c'est le problème exact, im essayant de le découvrir, juste une chose pouvons-nous ajouter des contrôles en tant qu'éléments de collection de travail. –

Questions connexes