Junior
რას წარმოადგენს გაფართოების მეთოდების არსი?
sobes.tech AI
პასუხი AI-სგან
දිගුව ක්රම (extension methods) පවතින වර්ගවලට නව ක්රම එකතු කිරීමට ඉඩ සලසයි, එම වර්ගයේ මූලාශ්ර කේතය වෙනස් නොකර හෝ නව උරුම වර්ගයක් නිර්මාණය නොකර.
ඒකේ මූලික අර්ථය මෙහෙමයි:
- ඒවා ස්ථායි ක්රම ලෙස ස්ථායි පන්තියක ප්රකාශිත වේ.
- දිගුව ක්රමයේ පළමු පරාමිතිය
thisයතුරු පදය සමඟ එහි වර්ගයට පෙර ඇත. මෙම පරාමිතිය දිගුව වර්ගය පෙන්වයි. - ඒවා දිගුව වර්ගයේ නියමිත ක්රම මෙන්ම කැඳවයි.
උදාහරණයක්:
// දිගුව ක්රම සඳහා ස්ථායි පන්තිය
public static class StringExtensions
{
// string වර්ගයට දිගුව ක්රමයක්
public static string Truncate(this string input, int maxLength)
{
if (string.IsNullOrEmpty(input))
{
return input;
}
return input.Length <= maxLength ? input : input.Substring(0, maxLength) + "...";
}
}
// දිගුව ක්රම භාවිතා කිරීම
string myString = "This is a long string.";
string truncatedString = myString.Truncate(10); // නියමිත ක්රමයක් ලෙස කැඳවයි
// සෘජු ස්ථායි ක්රම කැඳවීම සමඟ සමාන
string truncatedStringDirect = StringExtensions.Truncate(myString, 10);
ප්රතිලාභ:
- කේතයේ කියවීමේ හැකියාව වැඩිදියුණු කරයි, වස්තු මත "පිංතූර" සින්ටැක්සිය භාවිතා කිරීමට ඉඩ සලසයි.
- "sealed" (අවසාන) පන්තියන් හෝ තෙවන පාර්ශව පුස්තකාලවල වර්ගවලට ක්රියාකාරකම් එකතු කිරීමට ඉඩ සලසයි, මූලාශ්ර කේතය වෙනස් නොකර.
- LINQ විමසුම් ලිවීම පහසු කරයි, මක්නිසාද බොහෝ LINQ ක්රමයන් දිගුව ක්රම ලෙස ක්රියාත්මක වේ.