See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 20788|Vastuse: 1

[Allikas] C# Dünaamilise oleku viite DLL meetod (taastrükk)

[Kopeeri link]
Postitatud 05.02.2015 20:54:58 | | |
Esiteks peame kapseldama dll-i ja looma klassiteegi VS2008 all, kood on järgmine:
kasutades süsteemi;
kasutades System.Collections.Generic;
kasutades System.Linq'i;
kasutades Systemi;
kasutades System.Collections.Generic;
kasutades System.Linq'i;
kasutades System.Texti;
Nimeruum DLL
{
    Avalik klass AddClass
    {
        public static Int32 add(Int32 i, Int32 j)
        {
            return i + j;
        }
    }
}


Kompileeri, et genereerida dll.dll, kus klassi nimi on addclass ja meetod on add.
    Järgmisena, et seda dll.dll peaprogrammis kutsuda, tuleb see dll.dll kopeerida peaprogrammi bin\Debug kausta. Dünaamiline viite-dll nõuab System.Reflectioni kasutamist; See peegeldusnimede ruum.
privaatse tühjuse test()
        {
            Assembly ass = Assembly.Load("dll");  Laadi dll fail
            Tüüp tp = ass. GetType("dll.addclass");  Klassi nime saamiseks tuleb kasutada nimeruumi + klassi nime
            Object obj = Activator.CreateInstance(tp);  Loo instants
            MethodInfo metamfetamiin = tp. GetMethod ("lisa");  Kuidas seda saada
            int t = Convert.ToInt32( met. Invoke(obj, new Object[]{2, 3}) );  Kutsu kutsumise meetod
            MessageBox.Show(t.ToString());
        }

Ülaltoodud meetod on dünaamiline dll-i kutsumise meetod, samuti saab kasutada viite --> meetodit, et lisada viide (dll.dll) eellaadimiseks ja sobitada dll-i nimeruumi nime. kasutada. Põhiprogrammis kasuta int t= addclass.add(2, 3); See ongi kõik.

System.Text;
Nimeruum DLL
{
    Avalik klass AddClass
    {
        public static Int32 add(Int32 i, Int32 j)
        {
            return i + j;
        }
    }
}




Eelmine:Kuidas kutsuda meetodeid C/C++ DLL-ides C# keeles
Järgmine:MySQL unustas parooli taastamise parooli rakendamise meetodi
Postitatud 19.03.2018 21:31:01 |
.net keskkonnas arendatud Dll teek ei ole nii mitmekülgne kui VC6
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com