Você está offline; aguardando reconexão

PROBLEMA: Mensagem de erro "Argumento inválido" quando você compila um aplicativo de console translation from VPE for Csharp Visual .NET

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 311156
Sintomas
Quando você compila um aplicativo de console do Visual .NET translation from VPE for Csharp, você receberá a seguinte mensagem de erro:
Erro CS1502: O melhor sobrecarregado correspondência de método para 'declaração' tem alguns argumentos inválidos
Observação : CS1502 A mensagem de erro é sempre acompanhada pela mensagem de erro CS1503:
Erro CS1503: argumento 'arg': não é possível converter 'gráfico1' em 'type2'
Causa
Os tipos de argumento passados para a função não coincidem os tipos de parâmetro dessa função. Se a função chamada estiver sobrecarregada, nenhuma das versões sobrecarregadas tem uma assinatura que coincide com os tipos de argumento que são passados.
Resolução
Para resolver esse problema, siga um destes procedimentos:
  • Verifique os tipos dos argumentos que são passados para Verifique se eles coincidem com os argumentos da função que é chamado. Corrija os erros codificação que podem levar a esse problema.
  • Se apropriado, converta qualquer um dos parâmetros incompatíveis usando a classe System.Convert .
  • Se apropriado, converter qualquer dos parâmetros incompatíveis para coincidir com o tipo que a função espera.
  • Se apropriado, defina outro versão sobrecarregada da função para coincidir com os tipos de parâmetro que são enviados.
Situação
Esse comportamento é por design.
Mais Informações
No exemplo a seguir aplicativo de console do Visual .NET translation from VPE for Csharp, a função de teste possui duas versões sobrecarregadas. A primeira versão leva apenas um tipo int . A segunda versão espera um tipo int como seu primeiro argumento e um tipo de seqüência de caracteres como seu segundo argumento. No entanto, a função Main , o primeiro argumento é passado ( nNum ) é um tipo de seqüência de caracteres . Nenhuma as duas funções sobrecarregadas teste utiliza um tipo de seqüência de caracteres como o primeiro parâmetro.
using System;namespace x{   public class CTest	   {      public static void Test(int n1) {}      public static void Test(int n1, string str){}      public static void Main()      {         string nNum = "1000";         CTest.Test(nNum, "string2"); //CS1502      }   }}				
uma maneira de resolver o erro é declarar nNum como um número inteiro, da seguinte maneira:
int nNum = 1000;				
outra solução é converter a seqüência de caracteres em um número inteiro antes de chamar a função de teste . O código a seguir elimina o erro de compilador e produz o resultado desejado:
string nNum = "1000";int nNumConverted = System.Convert.ToInt32(nNum, 10);CTest.Test(nNumConverted, "string2");//CS1502				

Propriedades

ID do Artigo: 311156 - Última Revisão: 07/29/2002 02:23:00 - Revisão: 1.0

Microsoft Visual C# .NET 2002 Standard Edition

  • kbmt kbprb kbprod2web KB311156 KbMtpt
Comentários
lace("R", (8 | Math.floor(Math.random() * 3)).toString(16)); var m = document.createElement("meta"); m.content = guid; m.name = "ms.dqid"; document.getElementsByTagName("head")[0].appendChild(m);