J'essaie d'écrire un code C# par lequel je veux obtenir une image de l'API Web et le titre de l'image de l'API. J'ai implémenté une méthode nommée GetImage et essaye de retourner deux résultats (image et titre). Cependant j'ai écrit un code mais comme je suis nouveau dans cette situation, je ne sais pas quoi faire dans ce cas.Obtenir deux résultats d'une autre méthode dans la classe d'application principale en utilisant C#
Ma classe de service d'image qui contiennent les méthodes est-
public class ImageService
{
public string GetImage(string name)
{
string result1;
string result2;
using (WebClient client = new WebClient())
{
var uri = "https://en.wikipedia.org/w/api.php?action=query&format=json&prop=pageimages&pithumbsize=400&titles="+name;
string requestUrl = string.Format(uri, name);
var response = client.DownloadString(new Uri(uri));
var responseJson = JsonConvert.DeserializeObject<ImgRootobject>(response);
var firstKey = responseJson.query.pages.First().Key;
result1 = responseJson.query.pages[firstKey].thumbnail.source;
result2 = responseJson.query.pages[firstKey].title;
var hash = uri.GetHashCode();
}
return result1,result2; //showing error
}
}
Maintenant, les Form1.cs où je veux montrer des résultats dans picturebox et l'étiquette est-
public partial class Form1 : Form
{
private readonly ImageService _imageService;
public Form1()
{
_imageService = new ImageService();
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
pictureBox1.LoadAsync(_imageService.GetImage(textBox1.Text));
label1.Text = _imageService.GetImage(textBox1.Text);// not working
}
}
Pourquoi ne pas ajouter 2 propriétés représentant ce que vous voulez dans la classe ImageService? – EagerToLearn