Ngokuqinisekileyo, nali inqaku elide malunga nokufumana indlela ephunyeziweyo kwi-C #.
Ifumana indlela ephunyeziweyo kwisicelo se C# ngumsebenzi wodweliso oluqhelekileyo onokuthi uvele rhoqo kuhambo lwekhowudi yomntu. Ngumsebenzi olula ngokufanelekileyo kwaye ubalulekile kwaye uluncedo kakhulu kwiinjongo ezahlukeneyo. Umzekelo, ingasetyenziselwa ukufikelela kwiifayile ezahlukeneyo zeprojekthi xa indawo yeprojekthi ingaziwa. Eli nqaku liza kucazulula ikhowudi oyifunayo ukuze ufumane indlela ephunyeziweyo, uyichaze inyathelo ngenyathelo, kwaye ekugqibeleni ujonge kwiingcamango ezinxulumeneyo.
Kumxholo wenkqubo ye-C #, lo msebenzi unokufezekiswa ngomgca omnye wekhowudi. Ngoko makhe sijonge ngqo kwisisombululo:
Inkqubo.AppDomain.CurrentDomain.BaseDirectory
Umgca wekhowudi ungentla ubuyisela ngokulula umendo wefayile ephunyezwayo (.exe) yesicelo esisebenzayo ngoku, ngokohlobo lomtya.
The I-AppDomain.CurrentDomain.BaseDirectory Ipropathi ifumana uvimba weefayili osetyenziswa ngumsombululi wendibano ukuphonononga iindibano.
Ukuqonda iKhowudi: Inkcazo ngamanyathelo ngamanyathelo
Kwi-C#, i AppDomain udidi yinxalenye edityanisiweyo ye.NET framework's isixokelelwano indawo yamagama. Isicelo ngasinye se.NET sinomzekelo omnye ubuncinane we AppDomain. Lo mzekelo wenziwa xa isicelo siqala. Yonke inkqubo entsha ine yayo AppDomain eyigcina isecaleni kwezinye izicelo, eziluncedo ekuphuculeni ukhuseleko kunye nokomelela kwesicelo.
CurrentDomain, kwelinye icala, yipropati ye AppDomain iklasi. Ibuyisela into ebhekisa kwi-domain yesicelo yangoku yomsonto osebenzayo.
Gqibela, i BaseDirectory impahla yababuyisiweyo AppDomain into ibuyisela indlela yolawulo apho ifayile ephunyeziweyo yesicelo ikhona.
Ngoko, ukudibanisa konke:
- AppDomain.CurrentDomain ifumana indawo yangoku yesicelo.
- BaseDirectory isinika uvimba weefayili wesiseko sesizinda sesicelo sangoku.
Ngokufutshane, ikhowudi yomgca omnye ekhankanywe ngasentla isinika indlela yolawulo apho indibano ephunyezwayo yesicelo ikhoyo ngoku.
ISixokelelwano saMagama kunye neKlasi ye-AppDomain
The isixokelelwano isithuba segama sesinye sezona zithuba ziqhele ukusetyenziswa kwi C#. Ibandakanya iiklasi ezisisiseko kunye neeklasi ezisisiseko ezichaza amaxabiso asetyenziswa ngokuqhelekileyo kunye neentlobo zedatha yereferensi, iziganeko kunye nabaphathi bemisitho, ujongano, iimpawu, kunye nokwahlukileyo kokusebenza.
I-AppDomain yiklasi eyenza inxalenye ebalulekileyo ye isixokelelwano indawo yegama, kwaye isebenza ngeenjongo ezahlukeneyo:
- Inika indawo ye-sandboxed runtime environment enokulawulwa kwaye ilayishwe ngesethi ethile yeendibano.
- Inokuthi iqwalaselwe, evumela ulungelelwaniso olufana nomgaqo-nkqubo wokhuseleko ukusetwa.
- Inokothulwa, nto leyo eyenza kube lula xa kufikwa kulawulo lwezibonelelo.
Ipropathi ye-AppDomain.CurrentDomain.BaseDirectory, ke ngoko, ibonelela ngendlela eguquguqukayo yokufikelela kulawulo lwefayile ephunyezwayo yesicelo esisebenzayo, siyenza isixhobo esixabisekileyo kwikhithi yesixhobo ye C# yomdwelisi wenkqubo.
Ukusuka apha, iikhonsepthi eziphambili kakhulu zinokuphononongwa njengokusetyenziswa kwe-AppDomain ye-Runtime Executable's isolation, Reflection, Configuring AppDomain, kunye nokunye, zonke zifuna ukuqondwa kakuhle kwesihloko sangoku. Obu bubungqina bendlela ulwakhiwo olusisiseko kucwangciso luhlala lusebenza njengesango lokuya kwiinkalo ezintsonkothileyo nezinika umdla kulo mmandla.
Ukusebenzisa indlela ephunyeziweyo kwikhowudi yakho
Nje ukuba umendo, ukwenza imisebenzi efana nokufikelela kwiifayile, ukuvelisa iilog, njl. Nantsi ikhowudi yomzekelo wendlela onokuyisebenzisa ngayo i-BaseDirectory ekufikeleleni kwifayile:
umtya filePath = System.AppDomain.CurrentDomain.BaseDirectory + @“DataDetails.txt”;
usebenzisa (StreamReader sr = StreamReader entsha(filePath))
{
// Ikhowudi yakho apha
}
Kule khowudi, sidibanisa nje isiseko sendlela yolawulo kunye nomendo ozalanayo we 'Details.txt' kuluhlu lwe 'Data' kwaye uyifunde. Le khowudi iya kuqhuba ngempumelelo nokuba ikweyiphi na indawo yangoku yeprojekthi yakho, ngoko ke yongeza uguqulo lwekhowudi yakho.
Njengoko uqhubeka nokusebenza kwiiprojekthi ezininzi kwaye ufumana amava amaninzi nge-C # kunye ne-.NET framework, uyakufumana ezininzi eziluncedo ezilindele ukusetyenziswa. Kwaye qiniseka, okukhona ufunda, kokukhona izixhobo ezininzi onazo, kokukhona uya kuba ngumyalelo wakho ngaphezulu kwekhowudi yakho. Ikhowudi yolonwabo!