Sinflar
Interfeyslar
class - umumiy parametr sinfni ifodalashi kerak
struct - Umumiy parametr strukturani ifodalashi kerak
new() - umumiy parametr umumiy (public) parametrsiz konstruktorga ega bo'lgan turni ifodalashi kerak
Standart cheklovlar. Biz foydalanishimiz mumkin bo'lgan bir qator standart cheklovlar mavjud. Xususan, siz faqat tuzilmalar yoki boshqa qiymat turlari ishlatilishi uchun cheklovni belgilashingiz mumkin:
class Account where T : struct
{}
Shu bilan birga, sinflardan farqli o'laroq, beton konstruktsiyalarni cheklash sifatida ishlatish mumkin emas. Shuningdek, siz ma'lumot turlarini cheklovlar sifatida o'rnatishingiz mumkin:
class Transaction where T : class
{}
Shuningdek, siz new so'zidan umumiy parametrsiz konstruktorga ega bo'lgan sinf yoki tuzilmani belgilash uchun cheklov sifatida foydalanishingiz mumkin:
class Transaction where T : new()
{}
Agar universal parametr uchun bir nechta cheklovlar belgilangan bo'lsa, ular ma'lum bir tartibda borishlari kerak:
Sinf nomi, class, struct. Bundan tashqari, biz bir vaqtning o'zida ushbu cheklovlardan faqat bittasini aniqlay olamiz.
Interfeys nomi
new()
Masalan:
interface IAccount
{
int CurrentSum { get; set;}
}
class Person
{
public string Name { get; set; }
}
class Transaction where T: Person, IAccount, new()
{
}
Bir nechta umumiy parametrlardan foydalanish. Agar sinf bir nechta universal parametrlardan foydalansa, siz ularning har biriga ketma-ket cheklovlarni o'rnatishingiz mumkin:
class Transaction
where U : Account
where V : struct
{
}
Do'stlaringiz bilan baham: |