Как запретить новой форме использовать пространство имен System :: Collections

StackOverflow https://stackoverflow.com/questions/1433629

Вопрос

Если я создаю новую форму с именем myForm, верхняя часть myForm.h выглядит следующим образом:

#pragma once

using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;     //<<<< THIS ONE
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;

Ничего из этого даже не нужно, потому что замечательный дизайнер форм всегда полностью квалифицирует свои объекты.

Тот, который отмечен ЭТИМ, особенно раздражает, потому что он ломает мою сборку. Это потому, что я использую универсальную форму IList повсеместно - мне так нравится, что я поместил ее в stdafx.h, вот так:

using System::Collections::Generic::IList;

Итак, если я захочу использовать myForm из любого другого файла, где мне довелось использовать IList, например, так:

#include "StdAfx.h"
#include "ABC.h"
#include "myForm.h"

ABC::ABC()
{
    IList<int>^ myList;
    ...
}

тогда он не скомпилируется:

1>.\ABC.cpp(7) : error C2872: 'IList' : ambiguous symbol
1>        could be 'c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll : System::Collections::Generic::IList'
1>        or       'c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll : System::Collections::IList'
1>.\ABC.cpp(7) : error C2872: 'IList' : ambiguous symbol
1>        could be 'c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll : System::Collections::Generic::IList'
1>        or       'c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll : System::Collections::IList'

Итак, как я могу запретить новой форме добавлять все эти бесполезные и разрушительные использования?

Это было полезно?

Решение

Вы можете изменить шаблоны по умолчанию, которые использует Visual Studio, отредактировав zip-файлы в каталоге ItemTemplates для конкретного используемого вами языка.

C: \ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ ItemTemplates \ CSharp \ Code \ 1033

- это место, где находятся шаблоны C #. Я предполагаю, что шаблоны C ++ будут в аналогичном каталоге, но у меня нет установленного экземпляра VS с удобным C ++.

Другие советы

Вы можете изменить шаблон формы Visual Studio. Для дальнейшего чтения взгляните на:

http://msdn.microsoft.com/ ан-нас / библиотека / ms185319 (VS.80) .aspx

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top