0

我正在创建一种“某种”扩展方法,它将帮助我调试我未来的代码

有一个Listview带有列的“LV_MyAppLog”

record # , MethodName, Method's OutPut, Time.

只是时间部分我无法决定哪个是最简单但不那么专业的实施方式。

这是我已经构建的代码:

        public int LogCounter = 1;
        public void AHLog_AddRecord(string FunctionName = "N/A", string FunctionOutPut = "N/A")
        {

            ListViewItem MyItem= new ListViewItem();
            MyItem.Text = LogCounter.ToString();
            Lview_AutomationLog.Items.Insert(0, MyItem);
            MyItem.SubItems.Add(FunctionName);
            MyItem.SubItems.Add(FunctionOutPut);
            //place for the time SubItem(column)
            LogCounter++;

        }


        public void AddToAppLog()
        {
            StackTrace st = new StackTrace(); 
            StackFrame sf = st.GetFrame(1); 
if(Completed)
            AHLog_AddRecord(sf.GetMethod().ToString().Replace("Void", ""), "Success")  ; 
else 
            AHLog_AddRecord(sf.GetMethod().ToString().Replace("Void", ""), "Fail")  ; 

        }

我想添加给定方法发生的时间,

我应该这样做吗DateTime now

DateTime now = DateTime.Now;
string theTime = now.ToString();// if so , What is the format to use to get only time h:m:s 
AHLog_AddRecord(sf.GetMethod().ToString().Replace("Void", ""), "Fail" , theTime)

或者我应该使用我根本不熟悉的秒表(:但我很乐意通过我的这个代码示例来学习它,前提是它是更好的方法。

我可以在我的AddToAppLog()方法中使用正确的实现来要求正确的语法吗?

4

2 回答 2

1

Datetime.Now.ToString() 没问题,但我也会记录毫秒。

.ToString("hh:mm:ss.fff")
于 2012-08-28T08:47:44.763 回答
0

使用Stopwatch,如果你想测量一个时间范围,一个执行范围

相反,在您的情况下,您似乎只需要有关执行发生时间的信息。

DateTime.Now以最合适的格式免费填写。

于 2012-08-28T08:49:39.020 回答