سلام دوستان.
من قصدم اینه بدون add کردن فایل dll بتونم از فانکشن هاش استفاده کنم.با سرچی ک زدم یه چیزایی دستگیرم شد اما نتونستم اجرا کنم.
ابتدا یه فایل dll ایجاد میکنم به این شکل(لطفا به نام فانکشن و کلاس دقت کنید) :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace class1
{
public class class1
{
public static void func(string str) {
MessageBox.Show(str);
}
}
}
بعد یه پروژه Windows Form Application ایجاد میکنم و این فانکشن ها رو درش میسازم :
(class1 و func)
public static void Run(byte[] dll_byte, object[] dll_obj, string Class, string adress)
{
Assembly byteassem = Assembly.Load(dll_byte);
MethodInfo method_Run = byteassem.GetType(Class).GetMethod(adress);
method_Run.Invoke(null, dll_obj);
}
//////////////////////////////////
public static void Load_Dll(string str)
{
byte[] dll_path = File.ReadAllBytes("MyDllFile.dll");
Run(dll_path, new object[] { str }, "class1", "func");
}
و بعد یه جا با این فراخوانیش میکنم :
Load_Dll("Peigham");
و در نهایت کد کامپایل میشه اما در هنگام اجرا با خطا مواجه میشه.
ممنون میشم کمک کنید