Sébastien Rigaux

C# : IfItQuacks transforme le duck typing en bibliothèque

ToolC#.NET
Consulter la ressourceEN

steven-giesel.com

IfItQuacks permet d’utiliser en C# des objets qui correspondent à une interface sans l’implémenter ni hériter d’une classe commune. L’attribut [DuckTyped] déclenche un générateur de code qui vérifie la compatibilité à la compilation et crée un adaptateur, sans réflexion ni dynamic.

Les types anonymes peuvent aussi servir de stubs de test : un objet { Name = "Steven", Age = 90 } satisfait ainsi une interface IPerson. Les adaptateurs préservent par ailleurs l’identité en transférant Equals, GetHashCode et ToString à l’objet sous-jacent.

Illustration jaune « Buy me a coffee » avec une tasse stylisée.