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 nowLikeでそれをすることになっていますか?

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

時間の範囲、実行の範囲を測定する場合は、ストップウォッチを使用します。

代わりに、あなたの場合、実行が行われる時間に関する情報だけが必要なようです。

を自由に記入してDateTime.Now、最適な形式で使用してください。

于 2012-08-28T08:49:39.020 に答える