すべてのexternメソッド呼び出しが静的である理由を質問したいと思いますか? CLRがこれらの呼び出しをどのように処理しますか?C#のexternメソッド呼び出しをCLRが処理する方法
5
A
答えて
4
Externメソッド呼び出しは、アンマネージコードです。インスタンスメソッドの最初の(隠された)引数は、インスタンス参照、別名this
です。これは、(管理された)オブジェクトインスタンスで呼び出すのは意味がありません。通常、extern
のメソッドは単純な型(プリミティブ、文字列など)を含み、オブジェクトではありません(たぶん配列を除いて、さらには最初にIntPtr
に解決されることもあります)。
2
extern
コールは一般に「Cスタイル」のAPIに準拠していなければならず、Cはオブジェクトについて何も知らないため、コールはstatic
です。 C++メソッドを呼び出す際の補助として[DLLIMPORT]で使用することができますThisCall呼び出し規約があるよう
私の文では、100%真実ではありません。
関連する問題
- 1. メソッド呼び出しを処理するメソッドを取得する方法
- 2. 式ツリーでClosureメソッドとStaticメソッド呼び出しを処理する方法は?
- 3. C#でメソッド/呼び出しを別のメソッドから呼び出す方法は?
- 4. C#でメソッドを呼び出す方法
- 5. 動的プロキシ:ネストされたメソッド呼び出しを処理する方法
- 6. 同期呼び出しを処理する最良の方法
- 7. 2 ipcRenderer.send呼び出しを処理する方法1 ipcMain.on
- 8. メソッドC#で別のメソッドを呼び出す方法は?
- 9. メソッドの呼び出しを呼び出すC#
- 10. メソッドを呼び出す、C#
- 11. C#メソッドを呼び出す
- 12. aspネットページからjs extern関数を呼び出す方法
- 13. Python/Django unittest、外部呼び出しの処理方法は?
- 14. C#プログラムを呼び出した後のバッチファイルのエラー処理
- 15. MVC 3/Jquery AJAX/Session Expires/C# - セッションタイムアウトの処理ajax呼び出しの処理
- 16. 同じ関数を呼び出す複数のAjax呼び出しを処理する方法は?
- 17. メソッドを呼び出すメソッドを呼び出すオブジェクトをC#で代理人として渡す
- 18. c#.netでビジュアルC++メソッドを呼び出す方法
- 19. メソッドを独立して呼び出す方法C++アンマネージドXLLファイル
- 20. C#でメソッドを連続して呼び出す方法は?
- 21. C++/CLIまたはC#P/extern関数を呼び出す、大きなCライブラリを呼び出す
- 22. UITextViewを呼び出す方法addTargetメソッドを呼び出す
- 23. 直接的にexternメソッドを呼び出すときにAccessViolationExceptionが発生する
- 24. Objective Cサブクラスの初期化メソッドがスーパークラスのinitializeメソッドを呼び出す方法
- 25. Blackberry - カメラアプリケーション呼び出しファイルの処理
- 26. jQuery.sheet.SUM()メソッドの呼び出し方法は?
- 27. UWP:WinAPIメソッドの呼び出し方法
- 28. 別のクラスのC#で別のメソッドを呼び出す方法
- 29. SQL CLRの権利:CLRのストアドプロシージャを呼び出す
- 30. スウィフト言語のObjective Cメソッド(リターンプロトコル)の呼び出し方法