Tipo anônimo em confiança média, funciona com Reflexão e não com Expressões
Estou fazendo projeções personalizadas em consultas Linq no Medium Trust e recebo umaMethodAccessException
ouTypeAccessException
eclamar sobre reflexão e direitos de seguranç
Simplifiquei o código para o seguinte:
var anon1 = new { Name = "Bill Gates" };
var ctor = anon1.GetType().GetConstructors().First();
// With native Reflection it works
var anon2 = ctor.Invoke(new object[] { "Steve Ballmer" });
var expr = Expression.New(ctor, Expression.Constant("Scott Guthrie"));
var lamb = Expression.Lambda(expr); // This throws in Medium Trust
var anon3 = lamb.Compile().DynamicInvoke();
anon1.ToString(); // --> { Name = Bill Gates }
anon2.ToString(); // --> { Name = Steve Ballmer }
anon3.ToString(); // --> { Name = Scott Guthrie }
Em confiança total,anon2
eanon3
Será criado. Apenas na Confiança Médiaanon2
Será criado
Outrosituação simila não resolveu o problema