本文整理汇总了C#中System.Diagnostics.StackTrace.Where方法的典型用法代码示例。如果您正苦于以下问题:C# StackTrace.Where方法的具体用法?C# StackTrace.Where怎么用?C# StackTrace.Where使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Diagnostics.StackTrace
的用法示例。
在下文中一共展示了StackTrace.Where方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetEntryName
/// <summary>
/// Get entry name from stack frame, which is either the namespace name where the main method
/// is located or if we are started from a test, the name of the test method.
/// </summary>
public static string GetEntryName()
{
StackFrame[] frames = new StackTrace().GetFrames();
Debug.Assert(frames != null);
foreach (StackFrame frame in frames.Where(frame => frame.GetMethod().Name == "Main"))
return GetNamespaceName(frame);
return GetTestMethodName(frames);
}
示例2: GetEntryName
/// <summary>
/// Get entry name from stack frame, which is either the namespace name where the main method
/// is located or if we are started from a test, the name of the test method.
/// </summary>
public static string GetEntryName()
{
StackFrame[] frames = new StackTrace().GetFrames();
Debug.Assert(frames != null);
var testName = GetTestMethodName(frames);
if (testName != "")
return testName;
foreach (StackFrame frame in frames.Where(frame => frame.GetMethod().Name == "Main"))
return GetNamespaceName(frame);
return "Delta Engine"; //ncrunch: no coverage
}
示例3: GetExecutingAssemblyName
public static string GetExecutingAssemblyName()
{
StackFrame[] frames = new StackTrace().GetFrames();
if (!String.IsNullOrEmpty(unitTestClassFullName))
return GetNamespaceNameFromClassName(unitTestClassFullName);
//ncrunch: no coverage start (these lines can only be reached from production code)
foreach (StackFrame frame in frames.Where(frame => frame.GetMethod().Name == "Main"))
return GetNamespaceName(frame);
foreach (StackFrame frame in frames.Where(IsTestOrTestSetupMethod))
return frame.GetMethod().DeclaringType.Assembly.GetName().Name;
if (IsRunningAsWindowsService(frames))
return GetNamespaceNameForWindowsService(frames.ToList());
throw new ExecutingAssemblyOrNamespaceNotFound();
}