Ich habe eine Controller-Klasse, die sich um den Doppelklick-Befehl kümmert und wiederum eine Methode aufruft, die dem Benutzer ein Fenster öffnet. Etwas wie:
%Vor%In der obigen Zeile wird ein Fehler ausgegeben, der besagt: Der aktuelle Typ, PopupCommand.IPopupDataHandler, ist eine Schnittstelle und kann nicht konstruiert werden. Vermissen Sie ein Typ-Mapping?
Ich habe die DLL aktualisiert, die eine Methode für container.GetService () enthielt, vorher funktionierte es gut.
Ich habe versucht, in Google zu suchen, aber die ähnlichen Probleme haben mehr mit Unity zu tun, und ich bezweifle, dass mein Problem irgendwo mit Unity zusammenhängt.
Grundsätzlich sagt Ihnen der Compiler, dass Sie versuchen, eine Schnittstelle zu instanziieren.
container.GetService<PopupCommand>()
bringt Sie wahrscheinlich auf ein Interface mit dem Namen PopupCommand.IPopupDataHandler
zurück, Sie müssen es wahrscheinlich in den benötigten Typ umwandeln oder den Typ in ein Objekt ändern, Sie sollten auch die Einschränkungen der Methode überprüfen - es könnte fehlen die new
Einschränkung.
Probieren Sie Addin DefaultController Factory zum Registrieren Ihres Controllers aus. Drei Schritte: Schritt 1 1. Fügen Sie eine Class DefaultControllerFactory in Ihrem Projekt hinzu
%Vor%Schritt 2: Registrieren Sie es in der Bootstrap-Klasse in der BuildUnityContainer-Methode
%Vor%Schritt 3: Und registrieren Sie es in der Global.asax-Datei
%Vor%Und finished. Möge das für dich funktionieren ... Glückliche Kodierung.