так что я пытаюсь сделать, это запустить InvokeMember в потоке.Здесь есть информация, как это сделать: C #: вызвать метод с помощью [Type] .InvokeMember () в отдельном потоке
Так что мой код выглядит следующим образом, и это работает:
Assembly OCA = Assembly.LoadFrom("./CardMax2.Elkart.OrderClutchAgent.dll");
Type[] types = OCA.GetTypes();
foreach (var type in types)
{
//MethodInfo[] methods = type.GetMethods();
if (type.Name == "OrderClutchAgent")
{
var obj = Activator.CreateInstance(type);
type.InvokeMember("RunAgent",BindingFlags.Default | BindingFlags.InvokeMethod,null,obj,null);
}
}
Теперь, когда я пытаюсь запустить его в потоке, код выглядит так:
Assembly OCA = Assembly.LoadFrom("./CardMax2.Elkart.OrderClutchAgent.dll");
Type[] types = OCA.GetTypes();
foreach (var type in types)
{
//MethodInfo[] methods = type.GetMethods();
if (type.Name == "OrderClutchAgent")
{
var obj = Activator.CreateInstance(type);
Thread t = new Thread(delegate()
{
type.InvokeMember("RunAgent", BindingFlags.Default | BindingFlags.InvokeMethod, null, obj, null);
});
t.Start();
}
}
Но с этим кодом я получаю странное исключение:
Method 'Org.BouncyCastle.Asn1.X509.TbsCertificateList+RevokedCertificatesEnumeration+RevokedCertificatesEnumerator.RunAgent' not found.
Я делаю что-то совершенно неправильно или, может быть, кто-то может указать, почему я получаю это исключение ..