Определение возвращаемой переменной при создании класса - C#

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

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

Всем здравствуйте и большой привет с Украины Прошу помощи с таким вопросом: Имеется класс, в котором при создании через конструктор, задается тип переменной, для получения которой класс, собственно, и создается. Так вот - как в классе объявить метод, который возвращает эту переменную в заданном помощью конструктора типе?

Решение задачи: «Определение возвращаемой переменной при создании класса»

textual
Листинг программы
  1. class Sensor
  2.     {
  3.         public String Caption;
  4.         public String RequestURL;
  5.  
  6.         public Sensor(String Caption, String RequestURL)
  7.         {
  8.             this.Caption = Caption;
  9.             this.RequestURL = RequestURL;
  10.         }
  11.  
  12.         public T GetData<T>()
  13.         {
  14.             Type resultType = typeof(T);
  15.  
  16.             HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(RequestURL);
  17.             HttpWebResponse response;
  18.             try
  19.             {
  20.                 response = (HttpWebResponse)request.GetResponse();
  21.             }
  22.             catch (Exception exp)
  23.             {
  24.                 throw exp;
  25.             }
  26.             String result = GetFromStream(response.GetResponseStream());
  27.             response.Close();
  28.  
  29.             if (resultType == typeof(DateTime))
  30.             {
  31.                 DateTime Epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
  32.                 DateTime Time = Epoch.AddSeconds(Convert.ToInt64(result));
  33.                 Time = Time.AddHours(2);
  34.                 result = Time.ToString();
  35.             }
  36.             else if (resultType == typeof(Boolean))
  37.             {
  38.                 result = result.Replace("0", "false");
  39.                 result = result.Replace("1", "true");
  40.             }
  41.             return (T)Convert.ChangeType(result, resultType);
  42.         }
  43.  
  44.         private String GetFromStream(Stream stream)
  45.         {
  46.             StreamReader reader = new StreamReader(stream);
  47.             String data = reader.ReadLine();
  48.             reader.Close();
  49.  
  50.             return data;
  51.         }
  52.     }

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


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

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

10   голосов , оценка 3.7 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы