Sobes.tech
Junior

Чӣ тавр як усули васеъкунӣ дар C#?

sobes.tech AI

Ҷавоб аз AI

Рӯйхати васеъкунӣ (Extension Method) як усули статикӣ мебошад, ки метавонад ҳамчун усули навъи васеъшуда даъват карда шавад, ҳарчанд ки дар асл он дар беруни он навъ муайян шудааст.

Хусусиятҳои асосӣ:

  • Ин усули статикӣ дар класи статикӣ эълон шудааст.
  • Параметри аввалини усули васеъкунӣ бояд бо калимаи калидии this ишора карда шавад ва ба навъи, ки мехоҳед васеъ кунед, ишора кунад.
  • Усулҳои васеъкунӣ ба аъзои хусусӣ ва муҳофизатшудаи навъи васеъшаванда дастрасӣ надоранд.
  • Онҳо имкон медиҳанд, ки функсионалиятро ба навъҳои мавҷуда илова кунед, бе тағир додани коди манбаъ ё истифодаи мерос.

Масалан барои эҷод ва истифода:

  1. Тартиб додани класи статикӣ ва усули васеъкунӣ:

    public static class StringExtensions // Класи статикӣ
    {
        public static string ToTitleCase(this string input) // Усули васеъкунӣ барои навъи string
        {
            if (string.IsNullOrEmpty(input))
            {
                return input;
            }
            // Логикаи содда барои табдил додан ба Title Case
            return System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(input.ToLower());
        }
    }
    
  2. Истифодаи усули васеъкунӣ:

    string myString = "hello world";
    string titleCaseString = myString.ToTitleCase(); // Звонок ҳамчун агар ин як усули оддӣ барои string
    // titleCaseString ҳоло дорои "Hello World" мебошад