VS 2008
我在一个VB网站上找到了这个代码片段。
但由于某些原因,我在将其转换为C#时遇到了困难。
My.Computer.Network.IsAvailable
非常感谢,
发布于 2009-07-01 19:14:46
using System.Net.NetworkInformation;
internal class Program
{
private static void Main()
{
NetworkInterface.GetIsNetworkAvailable();
}
}
发布于 2009-07-01 19:18:26
是的,garethm是正确的,这个类(网络)来自VB.NET库-如果在C#项目中使用,你需要引用Microsoft.VisualBasic程序集。
Microsoft.VisualBasic.Devices.Network n = new Microsoft.VisualBasic.Devices.Network();
if (n.IsAvailable)
{
// do stuff
}
对我有效-我的网络是可用的:)。
至于网络与NetworkInterface类的关系,这取决于您下一步要做什么。例如,网络有像NetworkAvailabilityChanged事件和UploadFile方法这样很好的东西。另一方面,NetworkInterface可以给你一堆具体的技术信息,比如速度或者它是否支持多播。
顺便说一句,使用来自Microsoft.VisualBasic命名空间的类没有任何文档-这是.NET背后的核心思想,即您可以使用来自程序集的类,而不管它们是用哪种语言编写的。
发布于 2009-07-01 19:16:42
我通常做的是写一个小应用程序,然后加载,然后投影到Reflector中,然后反汇编它。
但是你可以使用这个类: System.Net.NetworkInformation.NetworkChange.NetworkAddressChanged
https://stackoverflow.com/questions/1072240
复制相似问题