VahidN/DNTIdentity

حذف متد CheckArgumentIsNull

shahrivar137 opened this issue · 1 comments

سلام
ممنون بابت مثال کاربردی که ارائه کردید.
دلیل حذف این متد در ورژن جدید چیه؟ چون الان در همه متدهای سازنده باید بررسی نال بودن انجام بشه...

public static void CheckArgumentIsNull(this object o, string name)
{
    if (o == null)
        throw new ArgumentNullException(name);
}

اگر متد زیر رو داشته باشیم کمکی میکنه؟

public static T CheckArgument<T>(this T obj)
{
    return obj ?? throw new ArgumentNullException(typeof(T).Name);
}
public LoginController(IApplicationSignInManager signInManager)
{
    _signInManager = signInManager.CheckArgument();
}

اين نوع متدها با امكانات nullable reference types سازگاري ندارند و توسط كامپايلر قابليت شناسايي بررسي نال بودن را ندارند چون به همراه يك سري annotation مخصوص نيستند. اگر مي‌خواهيد با متدها كار كنيد، روش استاندارد كار آن در دات نت 6 با استفاده از ArgumentNullException.ThrowIfNull هست.