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

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

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

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

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

textual
Листинг программы
class Sensor
    {
        public String Caption;
        public String RequestURL;
 
        public Sensor(String Caption, String RequestURL)
        {
            this.Caption = Caption;
            this.RequestURL = RequestURL;
        }
 
        public T GetData<T>()
        {
            Type resultType = typeof(T);
 
            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(RequestURL);
            HttpWebResponse response;
            try
            {
                response = (HttpWebResponse)request.GetResponse();
            }
            catch (Exception exp)
            {
                throw exp;
            }
            String result = GetFromStream(response.GetResponseStream());
            response.Close();
 
            if (resultType == typeof(DateTime))
            {
                DateTime Epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
                DateTime Time = Epoch.AddSeconds(Convert.ToInt64(result));
                Time = Time.AddHours(2);
                result = Time.ToString();
            }
            else if (resultType == typeof(Boolean))
            {
                result = result.Replace("0", "false");
                result = result.Replace("1", "true");
            }
            return (T)Convert.ChangeType(result, resultType);
        }
 
        private String GetFromStream(Stream stream)
        {
            StreamReader reader = new StreamReader(stream);
            String data = reader.ReadLine();
            reader.Close();
 
            return data;
        }
    }

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


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

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

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