Como parar uma nova forma de usar namespace System :: Collections
-
07-07-2019 - |
Pergunta
Se eu criar um novo formulário chamado myForm, o topo do myForm.h parece com isso:
#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;
Nenhum destes são ainda necessários, porque o designer formas maravilhosas sempre totalmente qualifica seus objetos.
A única marcado com este é particularmente irritante porque ele quebra minha construção. Isto é porque eu uso a forma genérica do IList em todo o lugar - Eu amo tanto que eu colocá-lo em stdafx.h, como este:
using System::Collections::Generic::IList;
Então, se eu quiser usar myForm de qualquer outro arquivo onde acontecer de eu usar IList, como este:
#include "StdAfx.h"
#include "ABC.h"
#include "myForm.h"
ABC::ABC()
{
IList<int>^ myList;
...
}
então ele falha ao compilar:
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'
Então, como posso parar uma nova forma de adicionar todos estes usings inúteis e destrutivas?
Solução
Você pode alterar os modelos padrão que usa o Visual Studio, a edição dos arquivos zip no diretório ItemTemplates para o idioma específico que você usar.
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp\Code\1033
é o local onde os modelos C # são. Estou assumindo que o C ++ templates seria em um diretório semelhante, mas eu não tenho uma instância VS instalado com C ++ útil.
Outras dicas
Você pode modificar modelo de formulário do Visual Studio. Para ler mais, dar uma olhada em:
http://msdn.microsoft.com/ en-us / library / ms185319 (VS.80) .aspx