J'ai des classes wrapper pour certaines classes tierces sans interfaces, et j'ai besoin de le référencer dans un bloc de code C# assez SOLIDE. À l'heure actuelle, j'ai une fonction statique pour convertir l'instance en une instance d'encapsuleur.Comment convertir un objet en objet wrapper dans Ninject & C#?
Exemple de code.
class A
{
public string Name;
}
interface IAWrapper
{
string Name { get; set; }
}
class AWrapper : IAWrapper
{
private A Instance;
public AWrapper(A instance)
{
Instance = instance;
}
public string Name
{
get
{
return Instance.Name;
}
set
{
Instance.Name = value;
}
}
}
Je veux une fonction comme
var a = new A() {Name = "bob"};
var wrapped = kernel.wrap<IAWrapper>(a);
Où wrapped
sera une instance de AWrapper
, et il a été adopté a
pour Instance
Est-ce que Ninject possède une façon de le faire? Pour demander une interface de classe wrapper, l'instance à encapsuler et récupérer la classe enveloppée?
(mes excuses, je suis sûr qu'il ya beaucoup plus clairement les moyens de demander, mais si je savais comment demander mieux, je pourrais connaître la réponse aussi bien. :))
Vous n'avez pas besoin de Ninject pour cela. Vous pouvez simplement appeler 'new AWrapper (new A {Name =" bob "})'. – Steven