Vamos falar um pouco de argumentos em console application.
As aplicações console são muito flexiveis e permitem que possamos desenvolver desde robos que são executados por agendamento até aplicações rápidas de testes.
Em determinadas situações precisamos passar parâmetros para as aplicações console, então, vamos lá.
C#
using System;
namespace ConsoleApplication21
{
class Program
{
static void Main(string[] args)
{
foreach (string arg in args)
{
Console.WriteLine(arg);
}
}
}
}
VB.NET
Module Module1
Sub Main(ByVal args As String())
For Each arg As String In args
Console.WriteLine(arg)
Next
End Sub
End Module
Esse código permite que os parâmetros enviador possam ser vistos pelo prompt de comando ao utilizar.
Para tanto podemos testar da seguinte forma no prompt de comando:
MinhaConsoleApplication.exe -a -r -va
O resultado será
-a -r -va
Esses são parâmetros simples, mas, podemos passar parâmetros complexos como “-path=c:\windows\temp\tempI.tmp”. Para tanto, na hora da detecção dos parâmetros, o -path será exatamente como descrito, pois, o separador de parâmetros é o espaço em branco ” “, então, um simples split resolve. Exemplo:
C#
using System;
namespace ConsoleApplication21
{
class Program
{
static void Main(string[] args)
{
foreach (string arg in args)
{
if (arg.IndexOf("-path", StringComparison.InvariantCultureIgnoreCase) >= 0)
{
string[] paramData = arg.Split('=');
Console.WriteLine("Parâmetro: " + paramData[0]);
Console.WriteLine("Valor: " + paramData[1]);
}
else
{
Console.WriteLine("Parâmetro: " + arg);
Console.WriteLine("Valor: Sem Valor");
}
}
}
}
}
VB.NET
Module Module1
Sub Main(ByVal args As String())
For Each arg As String In args
If (arg.IndexOf("-path", StringComparison.InvariantCultureIgnoreCase) >= 0) Then
Dim paramData As String() = arg.Split("=")
Console.WriteLine("Parâmetro: " + paramData(0))
Console.WriteLine("Valor: " + paramData(1))
Else
Console.WriteLine("Parâmetro: " + arg)
Console.WriteLine("Valor: Sem Valor")
End If
Next
End Sub
End Module
Para usar esse código no prompt de comando:
MinhaConsoleApplication.exe -a -r -va -path=c:\windows\temp\tempI.tmp
O resultado esperado será:
Parâmetro: -a Valor: Sem Valor Parâmetro: -r Valor: Sem Valor Parâmetro: -va Valor: Sem Valor Parâmetro: -path Valor: c:\windows\temp\tempI.tmp
Até o Próximo
Posts Relacionados:



Be the first to start a conversation