Есть функция.
public void Func()
{
var publicTL = new WebClient().DownloadString(@"link");
var statuses = DynamicJson.Parse(publicTL);
Label1.Text = statuses.data.hashRate.ToString();
}
Хочу переделать ее, так что бы ее можно было вызвать примерно так Label1.Text = Func(data.hashRate)
, т.е. я хочу передать только параметры метода. Я не понимаю даже какой тип будет функция принимать, возвращать будет строку.
Как это можно реализовать?
PS DynamicJson библиотека для json парсинга.
Нужно получить некое значение, распарсить его и вернуть одно из его полей. Для этого опишем метод GetHashRate, который будет принимать на вход строку с адресом и возвращать строку с хэшрейтом.
UPD. Мы хотим возвращать не только HashRate, но и любое другое свойство. Для этого добавим еще один параметр propertyName
. В нём будем передавать требуемое свойство, благо используемая библиотека позволяет использовать индексаторы:
public static string GetData(string link, string propertyName)
{
var publicTL = GetJson(link);
var statuses = DynamicJson.Parse(publicTL);
return statuses["data"][propertyName].ToString();
}
private static string GetJson(string link)
{
return "{\"status\":1,\"data\":{\"hashRate\":\"119.9 MH/s\",\"block\":166479}}";
}
Тут я вынес получение данных в отдельный метод (данные с Вашей ссылки не являются валидным JSON-объектом, т.к. это HTML-страница). Если будете использовать - не забудьте вернуть получение данных по ссылке.
Потом мы можем использовать результат того метода:
Label1.Text = GetData(link, "hashRate");
Или для проверки в консоли:
static void Main(string[] args)
{
Console.WriteLine(GetHashRate(@"http://bin.codingislove.com/giruderiwo.json", "hashRate"));
Console.WriteLine(GetHashRate(@"http://bin.codingislove.com/giruderiwo.json", "block"));
Console.ReadKey();
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Столкнулся с интересным и не совсем понятным поведением компилятора
Добавил Vlc ActiveX в проект, как com элементБиблиотеки подцепились работают, при установки проекта поставил добавлять dll, которые относятся к этому...
Для применения фильтрации на самом контролле (не в модели данных) использую DataTable для создания таблицы и DataView
Как залить свою программу наNET Fiddle ? Или там можно только что-то писать онлайн?