Nomlar fazosidan foydalanish. dll kutubxona yaratish va bogʻlash.
Nazariy ma’lumot
C# dasturlash tilida nom maydoni tegishli sinflar, interfeyslar, tuzilmalar va
ro'yxatlar to'plami uchun konteynerdir. Nomlar bo'shliqlari tegishli kodlarni tartibga
solish va guruhlash va dasturning turli qismlari o'rtasida nomlash ziddiyatlarini
oldini olish usulini ta'minlaydi.
Sinfda nom maydonidan foydalanish dasturchiga ushbu nomlar maydonida e'lon
qilingan turlarga ularning to'liq nomlarini ishlatmasdan murojaat qilish imkonini
beradi. Foydalanish direktivasi C# da nom maydoniga murojaat qilish uchun
ishlatiladi va u odatda nomlar maydoni deklaratsiyasidan tashqarida, manba faylning
yuqori qismida joylashtiriladi.
C# sinfida tizim nom maydonidan qanday foydalanishga misol:
using
System;
namespace
MyNamespace
{
class
MyClass
{
static
void
Main(
string
[] args)
{
// Use Console class from System namespace
Console.WriteLine(
"Hello World!"
);
}
}
}
Ushbu misolda tizimdan foydalanish; faylning yuqori qismidagi direktiv bizga
System.Console nomini to'liq moslashtirmasdan Console sinfidan tizim nomlari
maydonidan foydalanishga imkon beradi.
C# da nom maydonlaridan foydalanishda yodda tutish kerak bo'lgan ba'zi muhim
narsalar:
Nomlar bo'shliqlari tegishli kodlarni tartibga solish va guruhlash usulini ta'minlaydi.
Use direktivasi C# da nom maydoniga murojaat qilish uchun ishlatiladi.
Foydalanish direktivasi nomlar maydoni deklaratsiyasidan tashqarida, manba
faylning yuqori qismida joylashtirilishi kerak.
Ierarxik tuzilmalarni yaratish uchun nomlar maydonlarini joylashtirish mumkin.
Dasturning turli qismlari o'rtasida nomlash ziddiyatlarining oldini olish uchun
nomlar bo'shliqlaridan foydalanish mumkin.
Kodni tartibga solish va tushunishga yordam berish uchun nomlar bo'shliqlari uchun
mazmunli va tavsiflovchi nomlarni tanlash muhimdir.
Nom maydonlari nafaqat tashkilot uchun, balki ular ichida e'lon qilingan turlar va
aʻzolarning foydalanish imkoniyati va ko'rinishi uchun ham ta'sir ko'rsatadi.
Umuman olganda, nomlar bo'shliqlari C# da kodni tashkil qilish va tizimlashtirish
uchun kuchli vosita bo'lib, dasturlarni yanada o'qilishi, xizmat ko'rsatishi va
kengaytirilishi uchun o'ylangan va izchil ishlatilishi kerak.
C# dasturlash tilida DLL (Dynamic Link Library) bir nechta dastur yoki
komponentlar tomonidan ishlatilishi mumkin bo'lgan qayta ishlatiladigan kod va
resurslarni o'z ichiga olgan ikkilik fayldir. C# da DLL kutubxonasini yaratish kodni
inkapsulyatsiya qilish va qayta ishlatish imkonini beradi, bu esa dasturiy ta'minotni
ishlab chiqish, saqlash va tarqatishni osonlashtiradi.
Bu erda C# da DLL kutubxonasini yaratish va bogʻlashning asosiy qadamlari
keltirilgan:
Visual Studio'da yangi sinf kutubxonasi loyihasini yarating: Ehtiyojlaringizga
qarab "Class Library (.NET Framework)" yoki "Class Library (.NET Standard)"
loyiha shablonini tanlang.
Loyihada bir yoki bir nechta sinflarni aniqlang: Sinflar DLL-ga kiritmoqchi
bo'lgan kodni o'z ichiga olishi kerak. Sinflar va ularning aʻzolari DLL dan tashqarida
ko'rinadigan bo'lishi kerak bo'lsa, ularni ommaviy deb belgilashga ishonch hosil
qiling.
DLL yaratish uchun loyihani yarating: DLL loyihaning chiqish papkasida
yaratiladi. DLL fayli .dll kengaytmasiga ega bo'ladi va DLL nomi sukut bo'yicha
loyiha nomi bilan bir xil bo'ladi.
Boshqa loyihada DLL ga havola: DLLda belgilangan sinflar va aʻzolardan
foydalanish uchun loyihangizga unga havola qo'shishingiz kerak. Visual Studio-da,
Solution Explorer-da loyihani o'ng tugmasini bosing va "Ma'lumotnoma qo'shish" -
ni tanlang. O'zingiz yaratgan DLL faylini ko'rib chiqing va uni tanlang.
DLL-dagi sinflar va aʻzolardan foydalaning: DLL loyihangizga ulangandan
so'ng, siz kodingizdagi boshqa sinflar kabi uning sinflari va aʻzolaridan
foydalanishingiz mumkin. Siz sinflarning Na’munalarini yaratishingiz, ularning
usullarini chaqirishingiz va ularning xususiyatlariga kirishingiz mumkin.
C# da DLL kutubxonalarini yaratish va ulashda yodda tutish kerak bo'lgan
ba'zi muhim narsalar:
DLL kutubxonasi kodni inkapsulyatsiya qilish va qayta ishlatish imkonini
beradi, bu esa dasturiy ta'minotni ishlab chiqish, saqlash va tarqatishni
osonlashtiradi.
DLL'lar Visual Studio'da sinf kutubxonasi loyihasini yaratish orqali
yaratiladi.
DLL-dagi sinflar, agar ular DLL-dan tashqarida ko'rinishi kerak bo'lsa,
ommaviy sifatida belgilanishi kerak.
DLL-da belgilangan sinflar va aʻzolardan foydalanish uchun loyihangizga
unga havola qo'shishingiz kerak.
Siz kodingizdagi boshqa sinflar kabi DLL dagi sinflar va aʻzolardan
foydalanishingiz mumkin.
DLL-larni versiyalash va ularni mojarolarsiz yoki xavfsizlik muammolarisiz
joylashtirish va ishlatishni ta'minlash uchun kuchli nomlardan foydalanish
muhimdir.
Umuman olganda, DLL kutubxonalarini yaratish va bogʻlash C# dasturini
ishlab chiqishning muhim qismi bo'lib, dasturiy ta'minotning modulliligi,
barqarorligi va masshtabliligini yaxshilashga yordam beradi.
Barcha belgilangan sinflar va tuzilmalar, qoida tariqasida, o'z-o'zidan mavjud
emas, lekin maxsus konteynerlarda - ism maydonlarida joylashgan. Standart dastur
sinfi allaqachon nomlar maydonida joylashgan bo'lib, odatda loyiha nomi bilan bir
xil bo'ladi:
namespace
HelloApp
{
class
Program
{
static
void
Main(
string
[] args)
{
}
}
}
Nomlar maydoni so'z nomlari va undan keyin ismlar yordamida aniqlanadi. Shunday
qilib, bu holda, Dastur sinfining to'liq nomi HelloApp.Program bo'ladi.
Dastur sinfi bir xil nom maydonida e'lon qilingan barcha sinflarni ko'radi:
namespace
HelloApp
{
class
Program
{
static
void
Main(
string
[] args)
{
Account account =
new
Account(4);
}
}
class
Account
{
public
int
Id {
get
;
private
set
; }
// номер счета
public
Account
(
int
_id)
{
Id = _id;
}
}
}
Ammo boshqa nom maydonlaridan sinflardan foydalanish uchun ushbu bo'shliqlar
foydalanish ko'rsatmasi yordamida ulanishi kerak:
using
System;
namespace
HelloApp
{
class
Program
{
static
void
Main(
string
[] args)
{
Console.WriteLine(
"hello"
);
}
}
}
Bu Konsol sinfini belgilaydigan tizim nom maydonini keltirib chiqaradi. Aks holda,
biz sinfga to'liq yo'lni yozishimiz kerak edi:
static
void
Main(
string
[] args)
{
System.Console.WriteLine(
"hello"
);
}
Nomlar maydonlarini boshqa nomlar ichida aniqlash mumkin:
using
HelloApp.AccountSpace;
namespace
HelloApp
{
class
Program
{
static
void
Main(
string
[] args)
{
Account account =
new
Account(4);
}
}
namespace
AccountSpace
{
class
Account
{
public
int
Id {
get
;
private
set
; }
public
Account
(
int
_id)
{
Id = _id;
}
}
}
}
Bunday holda, bo'sh joyni ulash uchun tashqi nom maydonlarini hisobga olgan holda
uning to'liq yo'li ko'rsatiladi: HelloApp.AccountSpace yordamida;
Dostları ilə paylaş: |