0

タイミングを追跡するために提案された次のクラスを使用しています。

public sealed class TimeEvent
{
  public long Elapsed {get; private set;}
  public string Description { get; private set;}
  public TimeEvent(long elapsedTime, string descriptionOfEvent)
  {
    this.Elapsed = elapsedTime;
    this.Description = descriptionOfEvent;
  }
}

時間のリストを保持する私のクラスは次のとおりです。

public abstract class BaseGridViewModel
{

    protected BaseGridViewModel()
    {
        Times = new List<TimeEvent>();
    }
    public IList<TimeEvent> Times {get; set;}

}

ストップウォッチを開始してイベントを追加する方法は次のとおりです。

var sw = Stopwatch.StartNew();
vm.Times.Add(new TimeEvent(sw.ElapsedMillisends, "After event 1"));
sw.Stop();

ビューモデル内に値を渡すことができるメソッドがあり、内部で追加と同じことを行うようにする方法はありますか。たとえば、次のような方法です。

vm.Event(sw, "After event 1"));

4

1 に答える 1

5

なぜだめですか?

public abstract class BaseGridViewModel
{

    protected BaseGridViewModel()
    {
        Times = new List<TimeEvent>();
    }
    public IList<TimeEvent> Times {get; set;}

    public void Event(StopWatch watch, string message)
    {
        Times.Add(new TimeEvent(watch.ElapsedMilliseconds, message));
    }

}
于 2012-09-13T02:09:15.293 に答える