نمایش نتایج 1 تا 8 از 8

نام تاپیک: چرا JsonConvert مقدار Property را تغییر میده؟

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,032

    نقل قول: چرا JsonConvert مقدار Property را تغییر میده؟

    تنظیمات حروف اول کوچک یا بزرگ شاید تاثیر داشته باشد. این مورد میشه در Program.cs تنظیم کرد

    https://json2csharp.com/

  2. #2
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,183

    نقل قول: چرا JsonConvert مقدار Property را تغییر میده؟

    کدهای کلاس ApiResponse بصورت زیر است:


    public class ApiResponse<T>
    {
    public ApiResponse()
    {
    _messages = new List<ApiResponseMessage>();
    }


    private T? _value;
    public T? Value
    {
    get { return _value; }
    set
    {
    _value = value;
    HasValue = !(value is null);
    IsSuccess = true;
    }
    }
    public bool HasValue { get; set; }


    private bool _isSuccess;
    public bool IsSuccess
    {
    get { return _isSuccess; }
    set
    {
    _isSuccess = true;
    _isFail = false;
    }
    }


    private bool _isFail;
    public bool IsFail
    {
    get { return _isFail; }
    set
    {
    _isFail = true;
    _isSuccess = false;
    }
    }


    private IList<ApiResponseMessage>? _messages;
    public IList<ApiResponseMessage> Messages
    {
    get { return _messages; }
    }
    public bool HasMessage { get; set; }




    #region Messages


    public void AddErrorMessage(Abstractions.Exceptions.CaspianExc eption caspianException)
    {
    _messages?.Add(new ApiResponseMessage
    {
    Type = nameof(ApiResponseMessageEnum.Error),
    Message = caspianException.Message,
    });


    HasMessage = true;
    IsFail = true;
    }


    public void AddWarningMessage(Abstractions.Exceptions.CaspianE xception caspianException)
    {
    _messages?.Add(new ApiResponseMessage
    {
    Type = nameof(ApiResponseMessageEnum.Warning),
    Message = caspianException.Message,
    });


    HasMessage = true;
    }




    public void AddDangerMessage(Abstractions.Exceptions.CaspianEx ception caspianException)
    {
    _messages?.Add(new ApiResponseMessage
    {
    Type = nameof(ApiResponseMessageEnum.Danger),
    Message = caspianException.Message,
    });


    HasMessage = true;
    }




    public void AddInformationMessage(Abstractions.Exceptions.Casp ianException caspianException)
    {
    _messages?.Add(new ApiResponseMessage
    {
    Type = nameof(ApiResponseMessageEnum.Information),
    Message = caspianException.Message,
    });


    HasMessage = true;
    }




    public void ClearMessages()
    {
    _messages?.Clear();
    HasMessage = false;
    }




    #endregion




    public class ApiResponseMessage
    {
    public string Type { get; set; } = string.Empty;
    public string Message { get; set; } = string.Empty;
    }


    public enum ApiResponseMessageEnum
    {
    Error,
    Warning,
    Danger,
    Information
    }
    }

  3. #3
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,183

    نقل قول: چرا JsonConvert مقدار Property را تغییر میده؟

    آنچه که از پاسخ در StackOverflow متوجه شدم Setterها ایراد داشتند. در نتیجه نسخه نهایی کلاس بصورت زیر شد:


    public class ApiResponse<T>
    {
    public ApiResponse()
    {
    _messages = new List<ApiResponseMessage>();
    }


    private T? _value;
    public T? Value
    {
    get { return _value; }
    set
    {
    _value = value;
    HasValue = !(value is null);
    IsSuccess = true;
    }
    }


    public bool HasValue { get; set; }


    private bool _isSuccess;
    public bool IsSuccess
    {
    get { return _isSuccess; }
    set
    {
    _isSuccess = value;


    if (value)
    HasError = false;
    }
    }


    private bool _hasError;
    public bool HasError
    {
    get { return _hasError; }
    set
    {
    _hasError = value;


    if (value)
    IsSuccess = false;
    }
    }


    private IList<ApiResponseMessage>? _messages;
    public IList<ApiResponseMessage> Messages
    {
    get { return _messages; }
    }
    public bool HasMessage { get; set; }




    #region Messages


    public void AddErrorMessage(Abstractions.Exceptions.CaspianExc eption caspianException)
    {
    _messages?.Add(new ApiResponseMessage
    {
    Type = nameof(ApiResponseMessageEnum.Error),
    Message = caspianException.Message,
    });


    HasMessage = true;
    HasError = true;
    }


    public void AddWarningMessage(Abstractions.Exceptions.CaspianE xception caspianException)
    {
    _messages?.Add(new ApiResponseMessage
    {
    Type = nameof(ApiResponseMessageEnum.Warning),
    Message = caspianException.Message,
    });


    HasMessage = true;
    }




    public void AddDangerMessage(Abstractions.Exceptions.CaspianEx ception caspianException)
    {
    _messages?.Add(new ApiResponseMessage
    {
    Type = nameof(ApiResponseMessageEnum.Danger),
    Message = caspianException.Message,
    });


    HasMessage = true;
    }




    public void AddInformationMessage(Abstractions.Exceptions.Casp ianException caspianException)
    {
    _messages?.Add(new ApiResponseMessage
    {
    Type = nameof(ApiResponseMessageEnum.Information),
    Message = caspianException.Message,
    });


    HasMessage = true;
    }




    public void ClearMessages()
    {
    _messages?.Clear();
    HasMessage = false;
    }




    #endregion




    public class ApiResponseMessage
    {
    public string Type { get; set; } = string.Empty;
    public string Message { get; set; } = string.Empty;
    }


    public enum ApiResponseMessageEnum
    {
    Error,
    Warning,
    Danger,
    Information
    }
    }

تاپیک های مشابه

  1. سوال: تغییر property های کامپوننتهای هم کلاس در یک فرم به طور همزمان
    نوشته شده توسط iamehsan56 در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 4
    آخرین پست: دوشنبه 07 بهمن 1392, 10:57 صبح
  2. تغییر property های یک یوزر کنترل در زمان اجرا
    نوشته شده توسط ras1364 در بخش C#‎‎
    پاسخ: 2
    آخرین پست: یک شنبه 12 خرداد 1392, 22:44 عصر
  3. تغییر property فرم
    نوشته شده توسط esmartiz_red در بخش C#‎‎
    پاسخ: 5
    آخرین پست: شنبه 22 تیر 1387, 13:04 عصر
  4. سوال: تغییر property چند کنترل در حلقه؟
    نوشته شده توسط padidar در بخش VB.NET
    پاسخ: 5
    آخرین پست: پنج شنبه 30 خرداد 1387, 09:10 صبح
  5. تغییر property نمودار رسم شده از طریق کد برنامه
    نوشته شده توسط mzamani در بخش گزارش سازی با Crystal Report
    پاسخ: 17
    آخرین پست: چهارشنبه 29 آذر 1385, 07:42 صبح

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •