آرگومان‌های نامگذاری شده (named arguments/parameters) در C#4
اندازه‌ی قلم متن
تخمین مدت زمان مطالعه‌ی مطلب: یک دقیقه

  • #
    ‫۶ سال و ۷ ماه قبل، دوشنبه ۳۰ بهمن ۱۳۹۶، ساعت ۱۲:۳۹
    یک نکته‌ی تکمیلی: بهبود جزئی آرگومان‌های نامدار در C# 7.2

    تا پیش از C# 7.2، آرگومان‌های نامدار، تنها پس از ذکر آرگومان‌های بدون نام، مجاز بودند. برای مثال اگر امضای متدی به صورت زیر باشد:
    public static void Write(int age, string name, string homeTown)
    فراخوانی آن به صورت زیر تا C# 7.2 مجاز نبود:
    Write(age: 20, "User 1", homeTown: "Tehran");
    و باخطای کامپایلر زیر، کامپایل نمی‌شد:
    Named argument specifications must appear after all fixed arguments have been specified.
    این محدودیت در C# 7.2 برطرف شده‌است؛ به این شرط که موقعیت پارامترها تغییری نکنند و پارامترها دقیقا در همانجایی که قرار است باشند، معرفی شوند.
    در این حالت تمام فراخوانی‌های ذیل در C# 7.2 مجاز هستند:
    Write(age: 20, name: "User 1", "T1");
    Write(age: 21, "User 2", homeTown: "T2");
    Write(age: 22, "User 3", "T3");
    Write(23, name: "User 4", "T4");
  • #
    ‫۱۱ روز قبل، یکشنبه ۱۸ شهریور ۱۴۰۳، ساعت ۱۵:۳۰

    یک نکته‌ی تکمیلی: روش نمایش خودکار آرگومان‌های نامدار در Rider

    اگر از Rider استفاده می‌کنید و علاقمندید تا خودش کار تکمیل و نمایش آرگومان‌های نامدار را انجام دهد، روش کار به صورت زیر است:

    الف) ویژگی فرمت کردن کدها را در حالت ذخیره سازی تغییرات، فعال کنید:

    با اینکار، هربار که تغییرات را ذخیره می‌کنید، تنظیمات کدنویسی، به صورت خودکار به فایل‌های ذخیره نشده‌، اعمال می‌شوند.

    ب) به قسمت Settings -> Editor -> Cody Style -> C# -> Syntax Style مراجعه کرده و در قسمت تنظیمات آرگومان‌ها، حداقل گزینه‌های Literal values و String literal values را بر روی named argumets قرار دهید تا نکات مطلب جاری، به صورت خودکار اعمال شوند:

    همانطور که در مثال before/after تصویر فوق هم مشخص است، مزیت اینکار، مفهوم پیدا کردن اعداد و رشته‌های وارد شده به عنوان آرگومان‌های متدها هستند.