PDA

View Full Version : مشکل با برگرداندن مقدار متغیر از کلاس



R2du-soft
پنج شنبه 31 تیر 1395, 00:41 صبح
سلام دوستان
من در C#‎‎‎ یک کلاس چک کردن اینترنت با ping نوشتم،میدونم که Ping روش خوبی برای چک کردن اتصال اینترنت نیست،اما موضوع اصلی برگردوندن مقدار متغیر هست که مشکل دارم باهاش...
کلاسی که تعریف کردم به صورت زیر هست:

نام کلاس: Util.cs

کدها:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.NetworkInformation;
using System.Text;
using System.Windows.Forms;

public static class Util
{

public static void NetConnection()
{


String ConnectinCheck = "";

try
{
Ping ping = new Ping();
PingReply pingStatus = ping.Send("google.com");
ConnectinCheck = "Online";
}
catch
{
ConnectinCheck = "Offline";
}
MessageBox.Show(ConnectinCheck);
}

}



و کدی که درون دکمه درون فرم قرار دادم:

private void button1_Click(object sender, EventArgs e)
{

string myvalue = "";
Util.NetConnection();
if (ConnectinCheck == "Online")
{
myvalue = "10";
}
}



زمان کامپایل از کد if (ConnectinCheck == "Online") موجود در دکمه خطا گرفته میشه،دلیلشم اینه که ConnectinCheck پیدا نمیشه،چطور میتونم مقدار موجود در متغیر ConnectinCheck که در کلاس هست بعد از call کردن به کلاس مقدار رو نگه دارم و داخل فرمم ازش استفاده کنم؟

با زبانهای دیگه میشه اینکار رو کرد اما چون تازه دارم سی شارپ کارمیکنم دقیق نمیدونم مشکل چی هست،ممنون میشم راهنماییم کنید...

Mahmoud.Afrad
پنج شنبه 31 تیر 1395, 01:37 صبح
نوع برگشتی از متد رو از نوع bool و نام متد رو مناسب کاری که انجام میده انتخاب کنید
public static class Util
{
public static bool IsOnline()
{
try
{
// ...
return true;
}
catch
{
return false;
}
}
}
میتونید مقدار برگشتی از متد رو چک کنید
if (Util.IsOnline())
{
// ...
}