你好,你能不能帮我减少在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);
}
}
我tryed使用委托与通用,但它不是工作
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);
/***/
}
它采用错误,
尝试'T OBJ = JsonConvert.DeserializeObject(jStr)' –
I4V
@ I4V我不能这样做,因为我有这样busClass.Transport =新TransportCategory {ID = a.BusModelCategoryId}性能; – Abbath