У меня есть класс Form с этим конструктором:
public partial class PackageForm : Form
{
Responder MfwuResp;
public PackageForm()
{
MfwuResp = new Responder(new Responder.CancelHandler(StopMethod), true);
}
public void StopMethod(Responder responder)
{
Console.WriteLine("Cancel Update");
}
}
У меня также есть класс Responder в отдельном файле
public class Responder
{
Type[] types;
Object resp;
public Responder(Responder.CancelHandler handler, bool isCancellable)
{
BinaryReader reader = new BinaryReader(Assembly.GetExecutingAssembly().GetManifestResourceStream("Update.Resources.AppUpdate.dll"));
byte[] bytes = reader.ReadBytes((int)reader.BaseStream.Length);
Assembly assm = Assembly.Load(bytes);
types = assm.GetExportedTypes();
resp = Activator.CreateInstance(types[0], new object[] { handler, isCancellable });
}
public delegate void CancelHandler(UtilityResponder responder);
}
Всякий раз, когда я создаю новую PackageForm в Main, яget MissingMethodException
:
Конструктор типа AppUpdate.Responder не найден.
Есть идеи, почему это происходит?Я полагаю, что нет никаких проблем с синтаксисом, так как есть конструктор для CreateInstance, который принимает объект Type и params [] в качестве параметров.
Примечание. На класс Responder ссылается внешний файл DLL, AppUpdate.dll.