Ejemplo n.º 1
0
 public void SetWriterMethod(Type type, DynamicMethod method)
 {
     if (writers[type] != null)
     {
         throw new InvalidOperationException();
     }
     writers[type] = new CompiledDynamicMethod {
         Method = method, Index = writers.Count
     };
 }
Ejemplo n.º 2
0
        public void Invoke_StaticMethod_PassesArgumentsAndReturnsReturnValue(string message)
        {
            var method    = new DynamicMethod("Test", typeof(string), new[] { typeof(string) });
            var generator = method.GetILGenerator();

            generator.Emit(OpCodes.Ldarg_0);
            generator.Emit(OpCodes.Ret);

            var subject = new CompiledDynamicMethod <string>(method);
            var result  = subject.Invoke(new object[] { message });

            Assert.AreEqual(message, result);
        }
Ejemplo n.º 3
0
        public void Invoke_StaticMethod_PassesArgumentsAndReturnsReturnValue(string message)
        {
            var method = new DynamicMethod("Test", typeof(string), new[] { typeof(string) });
            var generator = method.GetILGenerator();

            generator.Emit(OpCodes.Ldarg_0);
            generator.Emit(OpCodes.Ret);

            var subject = new CompiledDynamicMethod<string>(method);
            var result = subject.Invoke(new object[] { message });

            Assert.AreEqual(message, result);
        }