Tipo anónimo en medio de confianza, funciona con Reflexión, no con Expresiones
Estoy haciendo proyecciones personalizadas en consultas de Linq en Medium Trust y obtengo unMethodAccessException
oTypeAccessException
quejándose de la reflexión y los derechos de seguridad.
He simplificado el código a lo siguiente:
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 }
En plena confianza,anon2
yanon3
se creará. En Medium Trust onlyanon2
se creará
Otrosituación simila no resolvió el problema