你好,你能帮我减少 C# 中的代码吗?我有很多这样的函数,我想用参数函数减少一个函数的代码,稍后我会发送。
public void WriteTransportCurrectCategoryTypes()
{
var jStr = GetJSONString("GetBusTypes");
var jArr = JArray.Parse(jStr);
var tTypes = new List<TransportCurrentCategoryType>();
foreach (dynamic d in jArr)
{
var tType = new TransportCurrentCategoryType();
ParseTransportCurrentCategoryType(tType, d);
tTypes.Add(tType);
}
}
public void WriteBusModelSpecs()
{
var jStr = GetJSONString("GetBusModelSpecs");
var jArr = JArray.Parse(jStr);
var specs = new List<Characteristic>();
foreach (dynamic d in jArr)
{
var spec = new Characteristic();
ParseBusModelSpecs(spec, d);
specs.Add(spec);
}
}
我尝试将委托与 Generic 一起使用,但它不起作用
public delegate void ParseParameters<T>(T objectClass,dynamic a);
private static void ParceBusClass(BusClass busClass,dynamic a)
{
busClass.Name = a.Name;
busClass.Transport = new TransportCategory {Id = a.BusModelCategoryId};
}
然后我称之为:
GetCollectionFromJSON<BusClass>("", ParceBusClass);
private static List<T> GetCollectionFromJSON<T>(string functionName, ParseParameters<T> parseFunk){
/****/
parseFunk<T>(busClass, a);
/***/
}
它需要错误,