IronPythonでC#クラスの再宣言が可能かどうかは誰にでも分かりますか?私がC#クラスを持っていれば、IronPythonから猿のパッチを当てることができますか?IronPythonでの再ネイティブ.netクラス
答えて
IronPythonからサルのパッチを適用することはできません。 IronPythonは、CPythonが組み込み型を扱うのと同じように、すべての.NETクラスを扱います。つまり、monkey patchedはできません。一方、IronRubyはこれをサポートしています。
なぜあなたはそれを再宣言しますか? subclass itにもっと意味をなさないか、まったく新しいクラスを作るのではないでしょうか?
EDIT:実際に必要なのは、コントロールの適切な反転(IOC)フレームワーク(Castle Windsorなど)です。基本的には、データベース・インタフェースを使用して、本番用の実際のデータベースを注入するIOCフレームワークを構成し、テスト用のモック・データベースを作成します。
クラスがコンストラクタ内のデータベースにアクセスしようとするため、単体テストが困難になるため、コンストラクタを再宣言したいとします。コンストラクタを再宣言することによって、クラスをモックデータベースにポイントし、実際のデータベースにヒットせずにユニットをテストすることができます。応答していただきありがとうございます。 –
IronPythonからmonkey-patchすることはできますが、IPyは変更を尊重する唯一の環境です。つまり、IronPythonからFile.Createをモックしようとすると、これは任意のIPyコードで正常に動作しますが、File.CreateというC#メソッドを呼び出すと、モックではなく実際のものが取得されます。
どうすればいいですか?自分のクラスで試してみると、次のメッセージが表示されます。 AttributeError: 'className'オブジェクトの 'methodName'属性が読み取り専用です –
- 1. IronPythonクラスの.NETプロパティ
- 2. IronPythonとC#/ .NETの統合
- 3. IronPythonでの.NETリストの初期化
- 4. IronPython with .Net Core 1.0の使用方法
- 5. IronPythonスクリプトでDLRCachedCodeクラスをインポートする
- 6. IronPythonファイルオブジェクトを.NETストリームオブジェクトに変換する
- 7. IronPython、一度クリック、.NET 2.0エラー - 考え?
- 8. .NETネイティブenum.GetValuesトラブル
- 9. ネイティブ.Netインストーラ/ bootstraper
- 10. IronPythonから管理値クラスへのマッピング
- 11. C#ネイティブIOS with .NET
- 12. IronPythonで.NETオブジェクトを型キャストできますか?
- 13. UWP .NETネイティブの問題
- 14. IronPythonと.Netを使用したマウスの現在の状態
- 15. IronPython経由の.NETとPythonの相互運用
- 16. .NETインターフェイスを実装するC#のIronPython型のインスタンス化
- 17. CryptAPIネイティブInterop with .NETコード
- 18. .NETネイティブおよびRCWオーバーヘッド
- 19. IronPythonのを使用して、IronPythonの
- 20. .NETクラスで同じプロパティを再利用する方法
- 21. Reactネイティブの再マウント画面
- 22. グリーンフットとネイティブJavaクラス
- 23. Windows 7はネイティブの.NETのListView
- 24. リアクト - ネイティブ:別のクラスに
- 25. IronPython Studiosでユニットテストを行うためのIronPython
- 26. Business App用のネイティブC++または.NET?
- 27. ネイティブのWindowsレンダラーを備えた.NET MenuStrip?
- 28. .NetのWatchDeadLockクラス
- 29. 反応ネイティブ再始動パッケージエラー
- 30. IronPythonインデクサパラメータのコンパイルエラー
説明として、私はIronPythonのc#クラスをどのようにmonkey-patchするかを知りたいと思います。 –