public interface ITest { decimal Balance { get; } }
public class Test : ITest { public Test(decimal balance) { this._balance = balance; } private decimal _balance; public decimal Balance { get { return _balance; } } }
class Program { static void Main(string[] args) { List<Test> list = new List<Test>() { new Test(23), new Test(5) }; decimal amount = Accumulate<Test, decimal>(list, (item, sum) => sum += item.Balance); Console.WriteLine(amount); Console.ReadKey(); } public static T2 Accumulate<T1, T2>(List<T1> source, Func<T1, T2, T2> action) where T1 : ITest where T2 : struct { T2 sum = default(T2); foreach (T1 item in source) { sum = action(item, sum); } return sum; } }
本文介绍了一个使用C#实现的泛型方法示例,通过定义一个ITest接口和一个Test类来演示如何使用泛型方法进行集合元素累加。此示例展示了如何在泛型约束条件下实现特定功能。
1152

被折叠的 条评论
为什么被折叠?



