[英]How to re-use a method in C#
因此,在下面的代碼中,在最后一個方法中,我想重新使用第二個public static Valute GetValuteByDate(DateTime date, string valuteCharCode)
,但是我真的不明白要提供什么參數。 如您所見,我成功地在第二種方法中重用了第一種方法。 知道如何在第三種方法中重復使用第二種方法嗎? 或者,也許您有一些有用的信息?
public static class Api
{
public static ValCurs GetValCursByDate(DateTime date)
{
var client = new RestClient("http://bnm.md"); //request
var request = new RestRequest("ro/official_exchange_rates/get_xml=1&date="+date.ToString(), Method.GET); //request
var response = client.Execute<ValCurs>(request);//deserialization
if (response.ErrorException != null) { return null; } //throw exception
return response.Data;
}
public static Valute GetValuteByDate(DateTime date, string valuteCharCode)
{
var curs = GetValCursByDate(date);
Valute valuteByDate = curs.FirstOrDefault(valute => valute.CharCode.Equals(valuteCharCode));
return valuteByDate;
}
public static Valute GetMaxValuteByPeriod(DateTime startDate, DateTime endDate, string charCode)
{
var maxVal = GetValuteByDate(**?**);
}
}
public static class Api
{
public static ValCurs GetValCursByDate(DateTime date)
{
var client = new RestClient("http://bnm.md"); //request
var request = new RestRequest("ro/official_exchange_rates/get_xml=1&date="+date.ToString(), Method.GET); //request
var response = client.Execute<ValCurs>(request);//deserialization
if (response.ErrorException != null) { return null; } //throw exception
return response.Data;
}
public static Valute GetValuteByDate(DateTime date, string valuteCharCode)
{
var curs = GetValCursByDate(date);
Valute valuteByDate = curs.FirstOrDefault(valute => valute.CharCode.Equals(valuteCharCode));
return valuteByDate;
}
public static Valute GetMaxValuteByPeriod(DateTime startDate, DateTime endDate, string charCode)
{
var totalDays = (endDate-startDate).TotalDays;
List<Valute> result = new List<Valute>(totalDays);
for(int i = 0; i < totalDays; i++)
{
result.Add(GetValuteByDate(startDate.AddDays(i), charCode);
}
var maxVal = result.Max(p => p.<put here property>);
return maxVal;
}
}
第三個似乎正在使用范圍,因此您需要每天在該范圍內調用第二個。
for(var day = startDate; date<= endDate; day = day.AddDays(1))
{
Valute value = GetValuteByDate(date, valuteCharCode);
//compare value to the max value and set if higher
}
注意:我沒有測試此代碼,因此您可能不得不擺弄它
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.