public static Func <IPacketRecord, string> GetFlowKeyFunc(FlowKey.Fields aggregation = Fields.None) { return(p => { var fk = new FlowKey { IpSrc = aggregation.HasFlag(FlowKey.Fields.IpSrc) ? "0.0.0.0" : p.IpSrc, SrcPort = aggregation.HasFlag(FlowKey.Fields.SrcPort) ? 0 : p.SrcPort, IpDst = aggregation.HasFlag(FlowKey.Fields.IpDst) ? "0.0.0.0" : p.IpDst, DstPort = aggregation.HasFlag(FlowKey.Fields.DstPort) ? 0 : p.DstPort }; return fk.ToString(); }); }