C# Call Different Functions in Core Function -
in c#, how can simplify getdata1()
, getdata2()
1 line function only? please see comments in getdata1
, getdata2
, have 2 write 3 lines in each function, use getdatacore
simplify it.
public ienumerable<int> getdatacore(function passinfunction) { // many other steps foreach (var sensor in sensors) { yield return sensor.passinfunction(); } } public ienumerable<int> getdata1() { // many other steps // todo: use // return getdatacore(getdata1); foreach (var sensor in sensors) { yield return sensor.getdata1(); } } public ienumerable<int> getdata2() { // many other steps // todo: use // return getdatacore(getdata1); foreach (var sensor in sensors) { yield return sensor.getdata2(); } }
there's no need write own method project of items in sequence using selector passed delegate. linq created such method you, called select
:
public ienumerable<int> getdata1() { return sensors.select(sensor => sensor.getdata1()); }
but, answer question anyway, if function
func<sensor, int>
, pass in method takes sensor , transforms integer, in each of getdatax
methods, using lambada, shown above.
Comments
Post a Comment