我去过that link,但有些地方我真的不明白。
1)列表<()>
private readonly List<(string MemberName, Func<T, object> Fingerprint)> _fingerprints;
2)对于
public FingerprintBuilder<T> For<TProperty>(Expression<Func<T, TProperty>> memberExpression, Expression<Func<TProperty, TProperty>> fingerprint
他们怎么称呼?您可以提供一些有关它们的良好链接/说明吗?
答案 0 :(得分:2)
当您看到
Func<T, TProperty>
是委托指纹,输出<>下的最后一项,所有其他输入。
所以
Func<string, string, int> Fcn
是一个接受2个字符串参数并返回整数值的函数。
让我们定义一个函数,该函数接受2个字符串并返回其长度之和
Func<string, string, int> Fcn = (string s1, string s2) => s1.Length + s2.Length;
var result = Fcn.Invoke("test", "test2");
Console.WriteLine(result); // will return 9
在您的情况下,它只是一些通用类型,但在功能上与该示例相同