Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 20788|Отговор: 1

[Източник] Метод за DLL референция на динамично състояние на C# (Препечатване)

[Копирай линк]
Публикувано в 5.02.2015 г. 20:54:58 ч. | | |
Първо, трябва да капсулираме dll и да създадем библиотека с класове под VS2008, кодът е следният:
използвайки System;
използвайки System.Collections.Generic;
използвайки System.Linq;
използвайки System;
използвайки System.Collections.Generic;
използвайки System.Linq;
използвайки System.Text;
Namespace DLL
{
    Публичен клас ADDCLASS
    {
        публичен статичен Int32 add(Int32 i, Int32 j)
        {
            return i + j;
        }
    }
}


Компилирайте, за да генерирате dll.dll, където името на класа е addclass, а методът е add.
    След това, за да извикаш този dll.dll в основната програма, трябва да копираш този dll.dll в папката bin\Debug на основната програма. Динамичният референтен dll изисква използване на System.Reflection; Това пространство за отражение.
Частен тест за невалидност()
        {
            Assembly ass = Assembly.Load("dll");  Заредете dll файла
            Тип tp = задник. GetType("dll.addclass");  За да получите името на класа, трябва да използвате namespace + име на клас
            Object obj = Activator.CreateInstance(tp);  Установете инстанция
            MethodInfo мет = tp. GetMethod ("добавям");  Как да го получите
            int t = Convert.ToInt32( мет. Invoke(obj, new Object[]{2, 3}) );  Метод за извикване
            MessageBox.Show(t.ToString());
        }

Горният е методът за динамично извикване на dll, можете също да използвате метода --->, за да добавите референция (dll.dll) за предварително зареждане и да съпоставите името на пространството от имена на използващия dll. да използваш. В основната програма използвайте int t= addclass.add(2, 3); Това е всичко.

System.Text;
Namespace DLL
{
    Публичен клас ADDCLASS
    {
        публичен статичен Int32 add(Int32 i, Int32 j)
        {
            return i + j;
        }
    }
}




Предишен:Как да извикваме методи в C/C++ DLLs в C#
Следващ:Метод за изпълнение на паролата за възстановяване на MySQL забравена парола
Публикувано в 19.03.2018 г. 21:31:01 ч. |
Dll библиотеката, разработена в .net средата, не е толкова универсална, колкото VC6
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com