将代码段转换为C#
VS 2008 我在VB网站上找到了这个代码片段 但由于某种原因,我在将其转换为C#时遇到了困难将代码段转换为C#,c#,C#,VS 2008 我在VB网站上找到了这个代码片段 但由于某种原因,我在将其转换为C#时遇到了困难 非常感谢,这似乎有效。不过,这可能是非常没有文档记录的用法: Microsoft.VisualBasic.Devices.Network net = new Microsoft.VisualBasic.Devices.Network(); if (net.IsAvailable) { Text = "Network is ava
非常感谢,这似乎有效。不过,这可能是非常没有文档记录的用法:
Microsoft.VisualBasic.Devices.Network net = new Microsoft.VisualBasic.Devices.Network();
if (net.IsAvailable)
{
Text = "Network is available";
}
else
{
Text = "Network unavailable";
}
请注意,我需要在我的项目中添加对Microsoft.VisualBasic的引用。不是VB库中的全部“我的”功能吗?我通常做的是编写一个小应用程序,然后在Reflector中加载项目并将其分解
using System.Net.NetworkInformation;
internal class Program
{
private static void Main()
{
NetworkInterface.GetIsNetworkAvailable();
}
}
但是您可以使用这个类:
System.Net.NetworkInformation.NetworkChange.NetworkAddressChanged是的,garethm是对的,此类(网络)来自VB.Net库-如果在C#项目中使用,则需要引用Microsoft.VisualBasic程序集 适用于我-我的网络可用:) 至于网络与NetworkInterface类的关系,这取决于您接下来要做什么。例如,网络有NetworkAvailabilityChanged事件和UploadFile方法等好东西。另一方面,NetworkInterface可以为您提供一些特定的技术信息,例如速度或它是否支持多播
顺便说一句,使用Microsoft.VisualBasic命名空间中的类没有任何未经记录的内容-它是.NET背后的核心思想,即您可以使用程序集中的类,而不管它们是用什么语言编写的。我的命名空间来自Visual Basic团队编写的库,但是它是标准.NET安装的一部分,并且完全可以被C#开发使用(事实上,对C#开发非常有用),或者实际上是任何.NET语言。你的编译错误是什么?关于我所做的事情,我唯一的问题是创建我自己的网络类实例-my.etc为你创建类-可能在某些情况下以一种我不知道的特殊方式。
using System.Net.NetworkInformation;
internal class Program
{
private static void Main()
{
NetworkInterface.GetIsNetworkAvailable();
}
}
Microsoft.VisualBasic.Devices.Network n = new Microsoft.VisualBasic.Devices.Network();
if (n.IsAvailable)
{
// do stuff
}