Обобщенный метод с Nullable типом - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте уважаемые!
        protected T ConvertPresenter<T>(dynamic val, Func<bool> pridicate) where T : [COLOR="red"]class[/COLOR] 
        {
 
            var tempVal = (T)Convert.ChangeType(val, typeof(T));
            return pridicate() ? tempVal :  null;
   
        }

        public override dynamic PresenterVal
        {
            set
            {
                ushort? val = ConvertPresenter<[COLOR="Red"]ushort?[/COLOR]>(Value, () => true);
                if (val.HasValue)
                    ValBin = BitConverter.GetBytes(val.Value);
            }
 
            get
            {
                return val;
            }
        }
как заставить ConvertPresenter использовать тип ushort? при вызове. если убрать
where T : class
то функция не сможет вернуть null. Прошу помочь, скорее всего где то туплю)). Заранее всем спасибо за сотрудничество!!!

Решение задачи: «Обобщенный метод с Nullable типом»

textual
Листинг программы
        static T ConvertPresenter<T>(dynamic val, Func<bool> pridicate)
        {
            try
            {
                var tempVal = (T)Convert.ChangeType(val, typeof(T));
                return pridicate() ? tempVal : default(T);
            }
            catch (Exception)
            {
                return default(T);
            }
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.875 из 5
Похожие ответы