0

.NET Compact Framework で以下の操作を行いたいです。Calling Method タイプを探しています。

http://www.csharp-examples.net/reflection-calling-method-name/

.NET Compact Framework は StackFrame クラスをサポートしていません。また、GetCurrentMethod() は MethodBase クラスでは使用できません。

4

2 に答える 2

3

例外をスローしてから、それが StackTrace プロパティであることを確認してください。

try
   {
       throw new Exception();
   }
catch(Exception ex)
   {
       Console.Write(ex.StackTrace);
   }

それは次のようなものを与えるでしょう

"NumericTextBoxControl.NumericalInput..ctor()\r\nat Custom_Numeric_Input.frmTestApplication.InitializeComponent()\r\nat Custom_Numeric_Input.frmTestApplication..ctor()\r\nat Custom_Numeric_Input.Program.Main()\r\n"

解析、分割、およびリフレクションを使用できます。

于 2009-04-08T15:38:03.540 に答える
0

おわかりのように、Compact Framework はまさにコンパクトです。完全なフレームワークのすべてが利用できるわけではありません。これはその一例です。例外ハンドラー内にいて、そこで呼び出しスタックを確認できない限り、呼び出し元のメソッドを特定する方法はありません (さらに、メソッド名を取得するのは、思ったほど簡単ではありません)。

于 2009-01-19T22:29:54.853 に答える