2010-04-09 2 views
2

Я использую VB.NET. Исходный код игры, который я изучаю, написан на C#. Я нахожу это раздражающим, что я должен добавить using System.Diagnostics в исходный код, чтобы ввести Debug.WriteLine.... Я проверял свойства проекта, но я не могу найти вкладку «Ссылки», которая позволяет мне добавлять пространства имен в «Импортированные пространства имен». Где я могу найти это на C#?Поддержка функции импорта импортеров VB.NET в C#

Кроме того, почему я не могу это сделать на C#? Imports System.Math

ответ

0

В C# вы всегда должны явно указать пространство имен, которые вы хотите использовать или использовать полное имя:

System.Diagnostics.Debug.WriteLine (...); 

Кроме того, есть вкладка ссылки под видом решения, вы должны ссылаться на требуемые сборки там, потому что многие сборки не ссылаются по умолчанию.

+0

Это такая боль в носу. Это расстраивает, когда вы не можете использовать intellisense, чтобы найти то, что вам нужно. –

+0

Дарин Димитров в своем ответе указал, как вы можете частично решить проблему. К сожалению, это невозможно использовать для сборок без ссылок. – n535

+1

Ваш ответ гласит, что вы не должны использовать 'use' для импорта пространств имен, что немного запутывает меня. –

3

Поместите курсор над Debug в исходном коде, красный закорючка появляется в правом нижнем углу слова, нажмите Shift + Alt + F10 Enter - от употребления автоматически добавляется.

Кроме того, почему я не могу это сделать в C#? Импорт х = System.Math

Вы можете: using x = System.Math;

+0

Прошу прощения, я имел в виду Imports = System.Math. Я изменю свой вопрос. –

+0

Shift + Alt + F10 удобен. Большое спасибо. –

+3

Лучше всего ярлык CTRL +.который проще на пальцах. – NibblyPig

3

Я не думаю, что вы можете иметь "скрытые" пространства имен в C#, как вы можете в VB.NET (не уверен).

Что касается второй части о System.Math, вы можете сделать следующее в верхней части каждого файла.

using SM = System.Math; 

SM.Abs(...); 
+0

Я изменил свой вопрос. Я имел в виду Imports System.Math –

+2

@Fred F.: потому что C# не поддерживает ключевое слово Imports. Кроме того, System.Math является классом, а не пространством имен. – Inisheer

+0

Да, это сообщение об ошибке, но оно не говорит, почему, а справочное сообщение об ошибке не предоставляет никакой информации. –

1

Возможно изменение шаблона Visual Studio для новых классов C#. Это не совсем та же функция, что и в Visual Basic, но для любого вновь созданного класса вы можете получить пространства имен, которые вам нравятся.

Это немного больше, чем просто несколько кликов мыши, к сожалению, но вы найдете все детали, описанные в блоге Энсон Хортона:

Item templates - adding references by default

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

В качестве сообщения в блоге, связанного с Visual Studio 2005, вам, вероятно, необходимо настроить некоторые пути, например. файл class.zip находится под C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp\Code\1033 в Visual Studio 2008.

Смежные вопросы