将代码段转换为C#

时间:2009-07-02 03:03:04

标签: c#

VS 2008

我有一个在VB网站上找到的代码片段。

但由于某种原因,我无法将其转换为C#。

My.Computer.Network.IsAvailable

非常感谢,

5 个答案:

答案 0 :(得分:4)

using System.Net.NetworkInformation;

    internal class Program
    {
        private static void Main()
        {
            NetworkInterface.GetIsNetworkAvailable();
        }
    }

答案 1 :(得分:3)

是的,garethm是对的,这个类(网络)来自VB.NET库 - 如果在C#项目中使用,则需要引用Microsoft.VisualBasic程序集。

Microsoft.VisualBasic.Devices.Network n = new Microsoft.VisualBasic.Devices.Network();
if (n.IsAvailable)
{
    // do stuff
}

适合我 - 我的网络可用:)。

就Network与NetworkInterface类的关系而言,它取决于您下一步要做什么。例如,Network有像NetworkAvailabilityChanged事件和UploadFile方法这样的好东西。另一方面,NetworkInterface可以为您提供一系列特定的技术信息,例如速度或是否支持多播。

BTW,没有任何关于使用Microsoft.VisualBasic命名空间的类的文档 - 这是.NET背后的核心思想,你可以使用程序集中的类,无论它们是用什么语言编写的。

答案 2 :(得分:2)

我通常做的是编写一个小应用程序,然后在Reflector中加载项目并反汇编它。

但你可以使用这个类: System.Net.NetworkInformation.NetworkChange.NetworkAddressChanged

答案 3 :(得分:1)

这似乎有效。尽管如此,这可能是非文档用法:

        Microsoft.VisualBasic.Devices.Network net = new Microsoft.VisualBasic.Devices.Network();
        if (net.IsAvailable)
        {
            Text = "Network is available";
        }
        else
        {
            Text = "Network unavailable";
        }

请注意,我需要在项目中添加对Microsoft.VisualBasic的引用。

答案 4 :(得分:1)

VB库中不是整个“我的”东西吗?