Note: Je suis conscient que C# a des types anonymes et des types internes, mais ceux-ci remplissent des rôles nettement différents des classes internes java anonymes de l'ancien.Générateur de code pour créer des classes abstraites en ligne qui remplissent le rôle de classes internes java anonymes pour les interfaces C#?
Supposons que j'ai une interface:
public interface Foo<T>
{
int Fizz(string a);
T Buzz(object o);
void Crackle();
}
Y at-il quelque chose là-bas (ReSharper macro ou similaire) qui me permettrait de générer une classe implémentant qui remplirait le rôle d'un style java AIC (c.-à- , permettez-moi de définir la fonctionnalité en ligne). à savoir
public class FooAIC<T> : Foo<T>
{
public Func<string, int> Fizz;
public Func<object, T> Buzz;
public Action Crackle;
int Foo<T>.Fizz(string a)
{
return Fizz(a);
}
T Foo<T>.Buzz(object o)
{
return Buzz(o);
}
void Foo<T>.Crackle()
{
Crackle();
}
}
(je n'ai pas réfléchi à cela dans une grande quantité de détails. Je suppose que l'on pourrait créer une classe plus intelligent avec injection de membre en lecture seule, le contrôle nul sur appel, fonctionne pour les classes abstraites etc, mais cela devrait transmettre le général idée de ce que je veux atteindre)
Quelqu'un sait quelque chose qui peut le faire? Ou, à moins que cela, recommander la manière la plus sans douleur de regarder faire quelque chose comme ceci - serait-ce possible dans le moteur T4?