vittorio130881
31-03-2010, 20:45
public class Account
{
private string name;
public string name
{
get
{
return name
};
}
private decimal balance;
public decimal balance
{get
{
return balance;
}
}
public Account(string name, Decimal balance)
{ this.name=name;
this.balance=balance;}
}
fine classe e inizio metodo generico
public delegate Tsummary Action<Tinput, Tsummary>(Tinput t, Tsummary u);
public static Tsummary Accumulate < Tinput, Tsummary >{
ienumarable<Tinput> coll,
Action<Tinput,Tsummary> action)
{Tsummary sum=default (Tsummary);
foreach (Tinput input in coll)
{sum=action(input,sum);}
return sum;
}
il metodo accumulate() può essere invocato usando un metodo anonimo:
decimal amount=Algorithm.Accumulate<Account,decimal>{
accounts,
delegate (Account a, decimal d)
{return a.balance +d})
MA COSA FA IL METODO a prescindere dal fatto che sia generico??? CALCOLA LA SOMMA DI TUTTI I BALANCE DELLA LISTA O AD OGNI BALANCE SOMMA D???? ANZI D COSA DIAVOLO E'????
{
private string name;
public string name
{
get
{
return name
};
}
private decimal balance;
public decimal balance
{get
{
return balance;
}
}
public Account(string name, Decimal balance)
{ this.name=name;
this.balance=balance;}
}
fine classe e inizio metodo generico
public delegate Tsummary Action<Tinput, Tsummary>(Tinput t, Tsummary u);
public static Tsummary Accumulate < Tinput, Tsummary >{
ienumarable<Tinput> coll,
Action<Tinput,Tsummary> action)
{Tsummary sum=default (Tsummary);
foreach (Tinput input in coll)
{sum=action(input,sum);}
return sum;
}
il metodo accumulate() può essere invocato usando un metodo anonimo:
decimal amount=Algorithm.Accumulate<Account,decimal>{
accounts,
delegate (Account a, decimal d)
{return a.balance +d})
MA COSA FA IL METODO a prescindere dal fatto che sia generico??? CALCOLA LA SOMMA DI TUTTI I BALANCE DELLA LISTA O AD OGNI BALANCE SOMMA D???? ANZI D COSA DIAVOLO E'????