Определение возвращаемой переменной при создании класса - 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;
}
}