Динамическое подключение dll, method not found - C#
Формулировка задачи:
Первый раз у вас на форуме, так что извиняюсь если что не так оформлю
В общем, Ошибка: "method 'Testlibra.Class1.Init' not found"
Подключаю библиотеку
Вызов библиотеки :
Вроде все делал по подобию [ссылка на форум]
но что то не так
Огромная просьба, объясните, что не так
Мне нужно просто подключить библиотеку, чтоб она вернула какое то значение...
using ModuleDelegate;
namespace ModuleDelegate
{
public delegate void CallBackDelegate(object[] args);
}
namespace TestLibra
{
public class Class1
{
public string Init(ModuleDelegate.CallBackDelegate dcallback)
{
object[] args = { "Hello" };
dcallback(args);
return "ok";
}
public delegate void CallBackDelegate(string msg);
}
}private bool loadDLL(string name)
{
bool res = false;
try
{
Assembly extAssemblyFile = Assembly.LoadFile("C:/Users/Hesayhello/Documents/Visual Studio 2010/Projects/Deep/Deep/TestLibra.dll");
Type ExtAssemblyType = extAssemblyFile.GetType("TestLibra.Class1");
object ExtAssembly = Activator.CreateInstance(ExtAssemblyType);
CallBackDelegate dcallback = new CallBackDelegate(this.DLLCallback);
object[] args = { dcallback };
res = (bool)ExtAssemblyType.InvokeMember("Init", BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.Instance | BindingFlags.SetProperty, null, ExtAssembly, args);
}
catch (Exception ex)
{
string message = ex.Message;
if (ex.InnerException != null)
message += Environment.NewLine + ex.InnerException.Message;
MessageBox.Show(message);
}
return res;
}Решение задачи: «Динамическое подключение dll, method not found»
textual
Листинг программы
if (t.FullName == "TestLibra.Form1")
{
Object instance = Activator.CreateInstance(t); // Создание объекта полученного типа
MethodInfo meth = t.GetMethod("Show", new Type[] { }, null);
meth.Invoke(instance, null);
}