我一直在努力尋找一種方法來計算所選月份中沒有周末的總天數。 (MDate被綁定到我的日期選擇器)將參數傳遞給ViewModel中的linq查詢的正確方法
作爲一個絕對的初學者我也沒有認識到我的數據參數(mDate)傳遞到LINQ查詢,但這裏有多遠,我已經得到了:
public class LocationViewModel : INotifyPropertyChanged
{
public LocationiewModel()
{
SetDaysInMonth();
}
private DateTime mDate = DateTime.Now;
public DateTime MDate
{
get { return mDate; }
set
{
if (value == mDate)
{
return;
}
else
{
mDate = value;
OnPropertyChanged("MDate");
SetDaysInMonth();
}
}
}
int _daysInMonth;
public int DaysInMonth
{
get { return _daysInMonth; }
set
{
_daysInMonth = value;
OnPropertyChanged("DaysInMonth");
}
}
private void SetDaysInMonth(DateTime mDate)
{
int DaysInMonth = Enumerable.Range(1, DateTime.DaysInMonth(mDate.Year, mDate.Month))
.Select(day => new DateTime(mDate.Year, mDate.Month, day))
.Count(d => d.DayOfWeek != DayOfWeek.Sunday &&
d.DayOfWeek != DayOfWeek.Saturday);
}
它使對我來說意義重大,但我顯然缺乏一些東西,因爲我得到以下錯誤:Error CS7036 There is no argument given that corresponds to the required formal parameter 'mDate' of 'LocationViewModel.SetDaysInMonth(DateTime)'
。
有人可以告訴我我錯過了什麼讓它工作嗎?經過幾個小時的閱讀,我會很感激最終明白我在這裏做錯了什麼。
'SetDaysInMonth(value);'(對於答案太短) –
Gert,我試過了,但我無法讓它工作。錯誤消失了,但結果是0.我做錯了什麼。所有的SetDaysInMonth方法都必須使用「value」嗎?如果您可以通過更改我的代碼來回答問題,那麼我會接受您的答案。謝謝! – iCosmin