如何将其他命名空间导入Visual C#?

时间:2012-02-17 23:11:17

标签: c# namespaces xna directx directinput

很抱歉,如果我的问题看起来有点不怎么样,但我找不到答案。我想在我的XNA游戏中使用DirectInput。我已经阅读过,似乎这是从XBox 360控制器以外的游戏手柄获取输入的最佳方式。第一步是包含Microsoft.DirectX.DirectInput命名空间,但我不太清楚如何。简单地将它放在我课程的开头不起作用,视觉C#无法识别它。

这让我想到我应该下载DirectX SDK吗?那里有很多东西,文件很大我怎么才下载单个命名空间?这甚至可能吗?如果我可以下载单个命名空间,我将文件放在哪里?

现在你可以看到我脑子里的所有问题。那么如何让visual C#识别出Microsoft.DirectX.DirectInput命名空间,以便我可以使用方法,属性和所有好东西呢?

谢谢!

3 个答案:

答案 0 :(得分:6)

您需要设置对包含您要使用的代码库的DLL的引用。据推测这是SDK的一部分,所以是的,你应该下载它。然后,在Visual Studio中

  • 打开解决方案资源管理器
  • 打开要使用库的项目
  • 右键单击该项目的引用节点
  • 选择“添加参考”
  • 导航至并选择dll

成功添加引用后,VS应识别using指令(以及您从程序集中使用的任何类型)。

请注意,引用了程序集;程序集与名称空间不同。初学者经常会混淆两者。在不同程序集中定义的类型可以位于同一名称空间中; BCL有几十例这样的例子。

此外,“using”指令不会导致任何东西被加载或类似的东西;它只允许您指定类型而不完全限定名称。实际上,可以在不使用using指令的情况下使用C#进行编码。例如,以下代码文件是等效的:

using System.Collections.Generic;
public static class Collector
{
    public static ICollection<T> Collect(IEnumerable<T> enumerable)
    {
        return new List<T>(enumerable);
    }
}

public static class Collector
{
    public static System.Collections.Generic.ICollection<T> Collect(System.Collections.Generic.IEnumerable<T> enumerable)
    {
        return new System.Collections.Generic.List<T>(enumerable);
    }
}

答案 1 :(得分:1)

下载SDK。它不会与您的应用程序一起重新分发..但是开发DirectX应用程序所需的一切都将包含在其中。安装后,“添加引用”对话框中将有新条目。

答案 2 :(得分:0)

为了利用DirectX,您需要下载SDK。

根本无法下载部分内容。即使是这样,我也绝不会建议那样做。