Microsoft විසින් .NET 10 සමඟ C# 14 නව විශේෂාංගයක් හඳුන්වා දී තිබේ – extension blocks. මෙය පසුගිය වසර ගණනාවක පවතින extension methods වලට වඩා සංවිධානයකින් පිරුණු, කියවීමට පහසු API එකක් සෑදීමට උපකාරී වේ.
පාරම්පරිකව extension methods කියන්නේ static class එකක method එකක් ලෙස ලියන, this keyword එකෙන් receiver එක ලබා දෙන ක්රමයක්. ඒවා LINQ, third‑party libraries වගේ බොහෝ තැනක භාවිතා වන අතර, වැඩි දුරටත් SomethingExtensions කියන කලාප ගොනු එකතු කරමින් යනවා.
ඔබට එකම වර්ගයක් (උදා: DateOnly) සම්බන්ධිත බහු ක්රියාමාර්ග තිබේ නම්, මේ පරිදි ලියන code එක කියවීමට අඩු පහසුකමක් දැනෙනවා:
- public static bool IsWeekend(this DateOnly date)
- public static DateOnly StartOfMonth(this DateOnly date)
- public static DateOnly NextBusinessDay(this DateOnly date)
C# 14 extension block එකක් භාවිතා කිරීමෙන් මේ සියල්ල එකම extension(DateOnly date) බ්ලොක් එකක ගොඩනැගිය හැක. මෙහිදී method පමණක් නොව, extension properties ද නිර්මාණය කළ හැක, එමනිසා IsWeekend සහ StartOfMonth වැනි සාධාරණ ගුණාංගයන්ට පරීක්ෂණ වාක්යයක් වගේ සරලව ප්රවේශ විය හැක.
උදාහරණයක් ලෙස:
public static class DateOnlyExtensions { extension(DateOnly date) { public bool IsWeekend => date.DayOfWeek is DayOfWeek.Saturday or DayOfWeek.Sunday; public DateOnly StartOfMonth => new(date.Year, date.Month, 1); public DateOnly NextBusinessDay() { var candidate = date.AddDays(1); while (candidate.IsWeekend) { candidate = candidate.AddDays(1); } return candidate; } } }
මෙම නව සින්ටැක්ස් එකේ වැදගත්කම වන්නේ, ගුණාංග (properties) සහ ක්රියාමාර්ග (methods) එකම ස්ථානයක ගොඩනැගීම, එමගින් API එකේ ආකෘතිය පැහැදිලිව පෙනේ. අඩු පරිමාණ වැඩකිරීම් සඳහා property භාවිතා කර, බරපතළ ගණනය, පරාමිතීන් අවශ්ය ක්රියාවලියට method තබා ගැනීමේ නීතිය තවත් පැහැදිලි වෙයි.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ විශ්වවිද්යාල ශිෂ්යයන්, start‑up සංවර්ධකයන් සහ IT සමාගම් සඳහා C# 14 extension blocks එකේ ප්රයෝජන විශාලයි. මුලින්ම, කේතය සංවිධානය කර ගැනීමේ පහසුව නිසා නවකයන්ට ඉගෙනීමට කාලය අඩු වේ. දෙවැනි වශයෙන්, API එකේ පැහැදිළි property‑method වෙන්කිරීම මඟින් කේතයේ පරීක්ෂණය, unit testing සහ maintainability වැඩි වේ. තෙවැනි, .NET 10 සමඟ නවතම runtime එකේ performance වැඩිදුරටත් සපයන බැවින්, ශ්රී ලංකාවේ software house ගණනාවක් අන්තර්ජාතික ගනුදෙනු සඳහා තරඟකාරීත්වය ලබා ගත හැක.
ඉදිරියේදී C# 14 අංගයන් භාවිතා කරමින්, අපේ දේශීය සංවර්ධකයන්ට ලෝක ප්රමිතීන් සමඟ සමාන, පැහැදිලි, නවීන API සැලසුම් නිර්මාණය කිරීමට අවස්ථාව ලැබේ.
කේත ලියනයේ නව පියවරක් ගන්නා C# 14 extension blocks – ඔබේ වැඩබලන පද්ධතියේ සරලතාවය, පරීක්ෂණ හැකියාව සහ scalability වැඩි කරයි.