Tentativamente, también puede achive este throught que utilice de cosas en el espacio de nombres System.Reflection.Emit y creo que es posible proporcionar la implementación de un método mediante el uso de árboles de expresión LINQ. El cual es una especie de limpia:
var assembly = AppDomain.CurrentDomain.DefineDynamicAssembly(new AssemblyName("TestAssembly"), AssemblyBuilderAccess.RunAndSave);
var mod = assembly.DefineDynamicModule("TestModule");
var type = mod.DefineType("TestType");
var method = type.DefineMethod("Increment", MethodAttributes.Public, typeof(int), Type.EmptyTypes);
Expression<Func<int, int>> inc = (a) => a + 1; // this is cool
inc.CompileToMethod(method);
al principio puede parecer un poco intimidante al principio, pero es cosas realmente buenas, y deja que el compilador genera la materia dura, la implementación del método. Pero realmente no puedes crear campos como este, eso requerirá algo de IL. Lo cual es muy divertido pero muy tedioso.
RENUNCIA:
No he probado a ejecutar el código de seguridad. Pero sé que va más o menos así, hace tiempo que no hago algo así.
¿Podría mostrarnos lo que ha hecho en esta tarea hasta el momento? – 48klocs
Se parece mucho a una pregunta de código para mí ... – Dykam
Quería decir "esto no es tarea", pero pensé que ustedes me darían el beneficio de la duda. Ya tengo 27 años. No es una pregunta de "código para mí". El problema que enfrento es mucho más grande, pero reduzco el problema a la simple pregunta anterior. – zaidwaqi