IronPythonで.netクラスを再宣言する
-
06-07-2019 - |
質問
IronPythonでC#クラスを再宣言できるかどうかを教えてもらえますか? C#クラスがある場合、IronPythonからモンキーパッチを適用できますか?
解決
IronPythonからパッチを適用することはできません。 IronPythonは、CPythonが組み込み型を扱うのと同じように、すべての.NETクラスを扱います。モンキーパッチは適用できません。一方、IronRubyはこれをサポートします。
他のヒント
IronPythonからモンキーパッチを適用できますが、IPyは変更を尊重する唯一の環境です。つまり、IronPythonからFile.Createをモックアウトしようとすると、これはどのIPyコードでも問題なく機能しますが、File.Createを呼び出すC#メソッドを呼び出すと、モックではなく実際のメソッドが取得されます。
なぜ再宣言するのですか? サブクラスを作成するか、まったく新しいものを作成する方が理にかなっていますかクラス?
編集:説明してください。実際に必要なのは、キャッスルウィンザー。基本的に、データベースインターフェイスがあり、本番用の実際のデータベースとテスト用のモックデータベースを挿入するようにIOCフレームワークを構成します。
所属していません StackOverflow