Как импортировать другие пространства имен в Visual C #? - PullRequest
5 голосов
/ 18 февраля 2012

Извините, если мой вопрос кажется немного дурацким, но я не могу найти ответ.Я хотел бы использовать DirectInput для моей игры XNA.Я прочитал вокруг, и кажется, что это лучший способ получить информацию от геймпада, кроме контроллера XBox 360.Первым шагом является включение пространства имен Microsoft.DirectX.DirectInput, однако я не совсем знаю, как это сделать.Просто вставить его в начале моего класса не работает, Visual C # не распознает его.

Это заставило меня задуматься, стоит ли мне загружать DirectX SDK?Там много всего, и файл большой, как мне просто загрузить единственное пространство имен?Это вообще возможно?Если я смогу загрузить единственное пространство имен, куда мне поместить файл?

Теперь вы можете видеть все вопросы, бродящие в моем мозгу.Так как же сделать так, чтобы Visual C # распознавал пространство имен Microsoft.DirectX.DirectInput, чтобы я мог использовать методы, свойства и все эти полезные вещи?

Спасибо!

Ответы [ 3 ]

6 голосов
/ 18 февраля 2012

Вам необходимо установить ссылку на библиотеку DLL, содержащую библиотеку кода, которую вы хотите использовать.Предположительно, это часть SDK, так что да, вы должны загрузить его.Затем в Visual Studio

  • откройте обозреватель решений
  • , откройте проект, в котором вы хотите использовать библиотеку
  • , щелкните правой кнопкой мыши узел ссылок для этого проекта
  • выберите «добавить ссылку»
  • перейдите к и выберите dll

После успешного добавления ссылки VS должен распознать директиву using (и любые типывы использовали из сборки).

Обратите внимание, что ссылки делаются на сборок ;сборки не совпадают с пространствами имен .Новички часто путают их.Типы, определенные в разных сборках, могут находиться в одном пространстве имен;BCL имеет десятки примеров этого.

Более того, директива using не приводит к загрузке чего-либо или чего-либо подобного;это просто позволяет вам указывать типы без полной квалификации имен.На самом деле, код на C # возможен без использования директивы using.Например, следующие файлы кодов эквивалентны:

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

AND

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 голос
/ 18 февраля 2012

Скачать SDK. Он не будет распространяться вместе с вашим приложением ... но все, что вам нужно для разработки приложений DirectX, будет включено в него. После установки в диалоговом окне «Добавить ссылку» появятся новые записи.

0 голосов
/ 18 февраля 2012

Чтобы использовать DirectX, вам необходимо загрузить SDK.

Просто невозможно загрузить его часть.Даже если бы это было так, я бы никогда не рекомендовал это делать.

...