Получение MethodMissingException в Reflection .net - PullRequest
0 голосов
/ 15 июня 2011
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Processor
{
    public class InvoiceProcessorTest
    {
        public void Process(String entity)
        {
            GenerateInvoice generateInvoice = new GenerateInvoice();
            generateInvoice.Process(entity);
        }
        public string ProcessTest(String str)
        {
            return "testString";
        }
    }
}

Мой код для чтения метод

Assembly processorAssembly = Assembly.LoadFile("ProjectDLL.dll");
AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);

Type myType= processorAssembly.GetType("Processor.InvoiceProcessorTest");
object myObj = Activator.CreateInstance(myType);

Console.WriteLine((string)myType.InvokeMember("ProcessTest", BindingFlags.InvokeMethod | BindingFlags.Instance | BindingFlags.Public, null, myObj , new object[] { "Pramod" }));

Я хочу вызвать метод ProcessTest класса InvoiceProcessorTest.

myType.GetMethods() показывает мне оба метода из класса.

Но когда я вызываю InvokeMember, он возвращает отсутствующее исключение MethodException. Namespace.InvoiceProcessorTest.ProcessTest не найдено

1 Ответ

0 голосов
/ 15 июня 2011

try

Console.WriteLine((string)myType.InvokeMember(.........

Использовать mytype.InvokeMember

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...