![]() |
#2
向洪林2016-09-07 09:25
|

class A
{
}
class B
{
}
class ABLL
{
public static int Method(List<A> alist)
{
return 0;
}
}
class BBLL
{
public static int Method(List<B> blist)
{
return 0;
}
}
class Program
{
static void Main(string[] args)
{
#region 其他地方产生如下代码:
List<A> aList = new List<A>();
//序列化为json字符串
string strAList = JsonConvert.SerializeObject(aList);
string strObject = "A";
#endregion
#region 本地代码
// 通过字符串 strObject,得知传递过来的数据对象为A,
//问题是每次都不同,也可能是B,也可能是C。。。所以需要使用反射直接寻找对应的类
//假设是A。则执行如下代码:
List<A> localAList = JsonConvert.DeserializeObject<List<A>>(strAList);
ABLL.Method(localAList);//执行A对应的方法
//这里的localAlist就是我需要的。现在的困难是JsonConvert的参数也是泛型,
//而且是一个List。就不知道怎么弄了。
//请指点
#endregion
Console.ReadKey();
}
}
[此贴子已经被作者于2016-9-6 18:16编辑过]