Domanda

Qualcuno può dirmi se è possibile dichiarare nuovamente una classe C # in IronPython? Se avessi una classe C #, sarei in grado di correggerlo da IronPython?

È stato utile?

Soluzione

Non puoi scimmiottare patch da IronPython. IronPython tratta tutte le classi .NET proprio come CPython tratta i tipi predefiniti: non possono essere sottoposti a patch scimmia. IronRuby invece supporta questo.

Altri suggerimenti

Puoi applicare una patch scimmia da IronPython, ma IPy è l'unico ambiente che rispetterà le tue modifiche; vale a dire se provassi a deridere File.Create da IronPython, funzionerebbe bene per qualsiasi codice IPy, ma se avessi chiamato un metodo C # che chiamava File.Create, avrebbe ottenuto quello vero, non il finto.

Perché dovresti dichiararlo? Non avrebbe più senso sottoclassarlo o semplicemente crearne uno completamente nuovo classe?

EDIT: dai il tuo chiarimento, penso che ciò di cui hai effettivamente bisogno sia una corretta struttura di inversione del controllo (IOC), come Castle Windsor . Fondamentalmente, hai un'interfaccia di database, quindi configura il framework IOC per iniettare un vero database per la produzione e finto database per i test.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top