Sobes.tech
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 ක්‍රමයන් දිගුව ක්‍රම ලෙස ක්‍රියාත්මක වේ.