-1
我創建了兩個控制檯應用程序,都是針對.NET框架的v4.5.2。在mscorlib中找不到System.Diagnostics.StackFrame.GetFrame(索引)
class MyDisposable : IDisposable
{
public void Dispose()
{
var callerName = new StackTrace().GetFrame(1)?.GetMethod()?.Name;
Console.WriteLine($"Dispose called by {callerName}.");
}
}
其中運行得很好。
在另一方面,我有以下,其實際上是相同的。
return Disposable.Create(() =>
{
var stackFrame = new StackFrame();
var callingMethodBase = stackFrame.GetFrame(1)?.GetMethod();
...
});
但是Visual Studio中智能感知報告:
'的StackFrame' 不包含 '的getFrame' 的定義和沒有擴展方法 '的getFrame' 接受類型 '的StackFrame' 的第一個參數可以找到(是否缺少使用 指令或程序集引用?)
當我請參閱StackFrames
類的定義,我看到方法GetFrames
在StackFrame
類的類聲明中不存在。 mscorlib的組件版本都是相同的,即v4.0.0.0。
這是爲什麼?
我的不好。很慚愧。我應該看起來更難。 –
@ WaterCoolerv2 - 不用擔心,它發生在我們身上。 – ChrisF