0

我想在 .NET Compact Framework 中执行以下操作。我正在寻找调用方法类型。

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 回答