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";
}
}
}
我的代碼讀取方法是在反思.NET入門MethodMissingException
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" }));
我想打電話給InvoiceProcessorTest類的ProcessTest方法。
myType.GetMethods()
向我展示了來自班級的兩種方法。
但是,當我InvokeMember,它返回一個缺少MethodException。 Namespace.InvoiceProcessorTest.ProcessTest沒有找到
什麼'submitOfferType'?一個簡短但完整的例子在這裏真的很有幫助。 – 2011-06-15 08:03:44
只需檢查這第一個http://blogs.msdn.com/b/suzcook/archive/2004/02/13/debugging-a-missingmethodexception-missingfieldexception-typeloadexception.aspx – Zenwalker 2011-06-15 08:11:40
您的第一個代碼塊調用您的類'Processor.InvoiceProcessorTest '但第二個假設它是'Namespace.InvoiceProcessorTest'。然而,這會導致不同的錯誤,然後你描述的那個,所以我懷疑這些代碼塊之一是不一樣的,你正在使用。 – 2011-06-15 08:29:49