object obj = 24;
dynamic dyn = 24;
obj += 4; // mumkin emas
dyn += 4; // mumkin
obj += 4; qatorida biz xatoni ko'rishimiz mumkin, += operatsiyasini object va int turlariga nisbatan qo'llab bo'lmaydi. dynamic deb e'lon qilingan o'zgaruvchi bilan esa bunday muommo yuz bermaydi, chunki u dastur bajarilayotgan vaqt aniqlanadi.
dynamic'dan foydalanishning yana bir muhim farqi shundan iboratki, dynamic'ni nafaqat o'zgaruvchilarga nisbatan balki, xossalar va metodlarga nisbatan ham qo'llash mumkin.
class Person
{
public string Name {get;set;}
public dynamic Age { get; set; }
// berilgan formatga ko'ra maoshni chiqaramiz
public dynamic getSalary(dynamic value, string format)
{
if (format=="string")
{
return value + " so'm";
}
else if (format == "int")
{
return value;
}
Do'stlaringiz bilan baham: |