我有以下代码运行正常,它从SQL表返回数据:
List<TypeA> Class1 = ( from rec in Entity.Context.Table select new Class1
{ NAME = rec.name,
FIRSTDATE = rec.firstdate,
LASTDATE = rec.lastdate
//my func CalcTimeDiff, doesnt work
ElapsedMin = CalcTimeDiff(LASTDATE, FIRSTDATE)
}).ToList();
public class Class1
{
public string NAME = {get; set;}
public Nullable<DateTime> FIRSTDATE = {get; set;}
public Nullable<DateTime> LASTDATE = {get; set;}
public int ElapsedMin = {get; set;}
// My function to calculate time difference
public int CalcTimeDiff ( DateTime A, DateTime B)
{
TimeSpan Diff = A - B;
int MinElapsed = (int)Diff.TotalMinutes;
return MinElapsed;
}
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找的是添加方法来计算LASTDATE和FIRSTDATE之间的DateTime差异到Class1类并在Class1初始化中调用它.但仍然没有运气,得到错误我不能使用非静态字段...任何想法如何让它管理?
除非您需要ElapsedMin设置(我不明白为什么会这样),只需将其设为计算属性:
public int ElapsedMin => CalcTimeDiff(FirstDate, LastDate);
Run Code Online (Sandbox Code Playgroud)
要么
public int ElapsedMin => (int)(LastDate - FirstDate).Value.TotalMinutes;
Run Code Online (Sandbox Code Playgroud)