Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 20788|Atsakyti: 1

[Šaltinis] C# dinaminės būsenos nuorodos DLL metodas (pakartotinis spausdinimas)

[Kopijuoti nuorodą]
Paskelbta 2015-02-05 20:54:58 | | |
Pirma, mes turime kapsuliuoti dll ir sukurti klasės biblioteką pagal VS2008, kodas yra toks:
naudojantis Sistema;
naudojant System.Collections.Generic;
naudojant System.Linq;
naudojant Sistemą;
naudojant System.Collections.Generic;
naudojant System.Linq;
naudojant System.Text;
vardų srities dll
{
    Viešoji klasė addclass
    {
        viešasis statinis Int32 add(Int32 i, Int32 j)
        {
            grąžinti i + j;
        }
    }
}


Kompiliuoti, kad sugeneruotumėte dll.dll, kur klasės pavadinimas yra addclass, o metodas yra add.
    Tada, norėdami iškviesti šį dll.dll pagrindinėje programoje, turite nukopijuoti šį dll.dll į pagrindinės programos aplanką bin\Debug. Dinaminės nuorodos dll reikia naudoti System.Reflection; Ši atspindžio vardų sritis.
Privatus tuštumos testas()
        {
            Assembly ass = Assembly.Load("dll");  Įkelti dll failą
            Įveskite tp = asilas. GetType("dll.addclass");  Norėdami gauti klasės pavadinimą, turite naudoti vardų sritį + klasės pavadinimą
            Objektas obj = Activator.CreateInstance(tp);  Egzemplioriaus nustatymas
            MethodInfo meth = tp. GetMethod("pridėti");  Kaip jį gauti
            int t = Convert.ToInt32( meth. Invoke(obj, naujas objektas[]{2, 3}) );  Iškviesti skambinimo būdą
            MessageBox.Show(t.ToString());
        }

Aukščiau pateiktas metodas dinamiškai iškviesti dll, taip pat galite naudoti nuorodą --> metodą, kad pridėtumėte nuorodą (dll.dll) išankstiniam įkėlimui ir atitiktumėte vardų srities pavadinimą naudojant dll. naudoti. Pagrindinėje programoje naudokite int t= addclass.add(2, 3); Viskas.

Sistema.Tekstas;
vardų srities dll
{
    Viešoji klasė addclass
    {
        viešasis statinis Int32 add(Int32 i, Int32 j)
        {
            grąžinti i + j;
        }
    }
}




Ankstesnis:Kaip iškviesti metodus C/C++ DLL C#
Kitą:MySQL pamiršo slaptažodžio atkūrimo slaptažodžio įgyvendinimo metodas
Paskelbta 2018-03-19 21:31:01 |
.net aplinkoje sukurta Dll biblioteka nėra tokia universali kaip VC6
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com