大家都知道匿名类型默认是private的,所以在B程序集中定义的匿名类型,A程序集是无法直接获取其成员信息的,因而无法输出。
本人自创一种方法,可以跨程序集使用dynamic。重点在于使用json字符串。
public string GetObj()
{
return JsonConvert.SerializeObject(new { name = "jeany", age = 22, sex = "男" });
}
使用
static void Main(string[] args)
{
dynamic result =JsonConvert.DeserializeObject(new GetObj.Class1().GetObj());
Console.WriteLine(result.name);
Console.ReadKey();
}
原理:现将对象序列化成json,到使用dynamic的时候反序列化。就可以使用dynamic了。