[英]convert code snippet to C#
VS 2008
我有一個在VB網站上找到的代碼段。
但是由於某種原因,我在將其轉換為C#時遇到了麻煩。
My.Computer.Network.IsAvailable
非常感謝,
using System.Net.NetworkInformation;
internal class Program
{
private static void Main()
{
NetworkInterface.GetIsNetworkAvailable();
}
}
是的,garethm是正確的,此類(網絡)來自VB.NET庫-如果在C#項目中使用,則需要引用Microsoft.VisualBasic程序集。
Microsoft.VisualBasic.Devices.Network n = new Microsoft.VisualBasic.Devices.Network();
if (n.IsAvailable)
{
// do stuff
}
為我工作-我的網絡可用:)。
至於Network與NetworkInterface類的關系,取決於您下一步要做什么。 例如,網絡具有諸如NetworkAvailabilityChanged事件和UploadFile方法之類的好東西。 另一方面,NetworkInterface可以為您提供許多特定的技術信息,例如速度或是否支持多播。
順便說一句,使用Microsoft.VisualBasic命名空間中的類並沒有任何文獻記載-這是.NET的核心思想,您可以使用程序集中的類而不管它們是以什么語言編寫的。
我通常要做的是編寫一個小應用程序,然后加載然后在Reflector中投影並反匯編它。
但您可以使用此類:System.Net.NetworkInformation.NetworkChange.NetworkAddressChanged
這似乎起作用。 不過,這可能是非常未記錄的用法:
Microsoft.VisualBasic.Devices.Network net = new Microsoft.VisualBasic.Devices.Network();
if (net.IsAvailable)
{
Text = "Network is available";
}
else
{
Text = "Network unavailable";
}
請注意,我需要在項目中添加對Microsoft.VisualBasic的引用。
難道不是整個VB庫中的“我的”東西嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.