Question

Quelqu'un peut-il me dire s'il est possible de redéclarer une classe C # dans IronPython? Si j’ai une classe C #, serais-je en mesure de la patcher d’IronPython?

Était-ce utile?

La solution

Vous ne pouvez pas utiliser le patch de singe d'IronPython. IronPython traite toutes les classes .NET exactement comme CPython traite les types intégrés: ils ne peuvent pas être patchés. IronRuby, en revanche, supporte cela.

Autres conseils

Vous pouvez monkey-patch à partir d'IronPython, mais IPy est le seul environnement qui respecte vos modifications. c'est-à-dire que si vous tentiez de simuler File.Create à partir d'IronPython, cela fonctionnerait sans problème pour tout code IPy, mais si vous appeliez une méthode C # appelée File.Create, elle obtiendrait le vrai, pas le faux.

Pourquoi voudriez-vous le redéclarer? Ne serait-il pas plus logique de de le sous-classer ou de créer un tout nouveau classe?

EDIT: Donnez votre clarification, je pense que ce dont vous avez réellement besoin, c’est d’un cadre d’inversion de contrôle (IOC) approprié, tel que Château Windsor . En gros, vous avez une interface de base de données, puis vous configurez le cadre IOC pour injecter une vraie base de données pour la production et une base de données fictive pour les tests.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top