Einheit registrieren generischen Typ für nicht generische Schnittstelle

mein Szenario sieht (für mich) sehr geradlinig, aber ich konnte nicht eine Lösung finden.

Habe ich dieses Szenario

public class Class<T> : IInterface where T : class
{ 

}

die Schnittstelle kann nicht hergestellt werden generische (kommt vom WCF lib.)

so, ich möchte registrieren die Schnittstelle wie diese

container.RegisterType(typeof (IInterface ), typeof (Class<>));

und löst diese dann mit T

Wie kann ich es tun? Was bin ich?

meine Absicht ist, etwas zu tun, wie

container.Resolve<IInterface>(/* specify T */);
  • Müssen Sie einen Typ angeben, der in die Klasse<> um typeof, um richtig zu arbeiten, vermutlich Sie werfen wollte, IInterface, um eine bestimmte Art von Klasse<T>, z.B. Klasse<Der> ?
  • Nein, ich wollte nicht - ich wollte um diese Schnittstelle zu implementieren, die in einer generischen Art und Weise und ich brauche das T dynamisch zu sein.
  • Wie würden Sie diese umsetzen, wenn Sie nicht mit der Einheit? Bitte aktualisieren Sie Ihre Frage mit dem code, dass diese shows. Hoffentlich ermöglicht es uns, besser zu verstehen, was es ist Sie versuchen zu erreichen.
  • wenn ich nicht mit unity würde ich die Fabrik, die Sie vorgeschlagen. aber ich denke, dass die Einheit kann damit umgehen, da ich möchte, ihm zu sagen, was ist T, wenn ich die Lösung der Instanz.
  • Man kann nicht sagen, diese Einheit, und man sollte nicht sagen, diese Einheit. Dies ist, wo das factory-pattern entworfen.
InformationsquelleAutor Tom | 2013-08-28
Schreibe einen Kommentar