gpt4 book ai didi

C#传递匿名参数?

转载 作者:行者123 更新时间:2023-11-30 16:18:58 25 4
gpt4 key购买 nike

抱歉,我找不到正确的标题。我有不止一种返回相同结果的方法。

返回类型

public class JsonTreeView
{
public int id { get; set; }
public string text { get; set; }
public string state { get; set; }
public string @checked { get; set; }
public string attributes { get; set; }
public List<JsonTreeView> children { get; set; }
}

第一种方法

List<JsonTreeView> FromReportTree(List<ReportTree> list)
{
}

第二种方法

List<JsonTreeView> FromLocationTree(List<LocationTree> list)
{
}

和其他...树模型的属性不同。例如:

LocationTree (id, name, parent, text)
ReportTree (sno, name, parent, desc)

是否可以为所有这些树模型编写一个方法?有什么建议或起点吗?

谢谢...

最佳答案

我建议你创建一个私有(private)方法来完成繁重的工作,并为不同的类型保留重载方法。从其他方法调用私有(private)方法,使用从该方法的特定对象创建 JsonTreeView 对象的函数:

private List<JsonTreeView> FromReportTree<T>(List<T> list, Func<T, JsonTreeView> convert) {
// loop through the list and call convert to create items
List<JsonTreeView> result = new List<JsonTreeView>();
foreach (T item in list) {
result.Add(convert(item));
}
return result;
}

List<JsonTreeView> FromReportTree(List<ReportTree> list) {
return FromReportTree(list, t => new JsonTreeView(t.id, t.text, ... ));
}

List<JsonTreeView> FromReportTree(List<LocationTree> list) {
return FromReportTree(list, t => new JsonTreeView(t.sno, t.desc, ... ));
}

关于C#传递匿名参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15642210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com