Escolar Documentos
Profissional Documentos
Cultura Documentos
Argumentos nomeados e
opcionais (Guia de Programação
em C#)
19/07/2015 • 6 minutos para ler •
Neste artigo
Argumentos nomeados
Exemplo
Argumentos opcionais
Exemplo
Interfaces COM
Resolução de sobrecarga
Especificação da Linguagem C#
Consulte também
Argumentos nomeados
Os argumentos nomeados liberam você da necessidade de lembrar ou procurar a
ordem dos parâmetros nas listas de parâmetros de métodos chamados. O parâmetro
para cada argumento pode ser especificado pelo nome do parâmetro. Por exemplo,
uma função que imprime detalhes de pedidos (como o nome do vendedor, nome do
produto e número do pedido) pode ser chamada da maneira padrão, por meio do
envio de argumentos por posição, na ordem definida pela função.
https://docs.microsoft.com/pt-br/dotnet/csharp/programming-guide/classes-and-structs/named-and-optional-arguments 1/8
22/09/2019 Argumentos nomeados e opcionais – Guia de Programação em C# | Microsoft Docs
Se não se lembrar da ordem dos parâmetros, mas souber os nomes, você poderá enviar
os argumentos em qualquer ordem.
C# = Copiar
Exemplo
O código a seguir implementa os exemplos desta seção, juntamente com outros
exemplos.
C# = Copiar
https://docs.microsoft.com/pt-br/dotnet/csharp/programming-guide/classes-and-structs/named-and-optional-arguments 2/8
22/09/2019 Argumentos nomeados e opcionais – Guia de Programação em C# | Microsoft Docs
class NamedExample
{
static void Main(string[] args)
{
// The method can be called in the normal way, by using positional
arguments.
PrintOrderDetails("Gift Shop", 31, "Red Mug");
Argumentos opcionais
A definição de um método, construtor, indexador ou delegado pode especificar que
seus parâmetros são obrigatórios ou que são opcionais. Qualquer chamada deve
fornecer argumentos para todos os parâmetros necessários, mas pode omitir
argumentos para parâmetros opcionais.
https://docs.microsoft.com/pt-br/dotnet/csharp/programming-guide/classes-and-structs/named-and-optional-arguments 3/8
22/09/2019 Argumentos nomeados e opcionais – Guia de Programação em C# | Microsoft Docs
Cada parâmetro opcional tem um valor padrão como parte de sua definição. Se
nenhum argumento é enviado para esse parâmetro, o valor padrão é usado. Um valor
padrão deve ser um dos seguintes tipos de expressões:
C# = Copiar
//anExample.ExampleMethod(3, ,4);
7 Observação
valor padrão.
Exemplo
No exemplo a seguir, o construtor para ExampleClass tem um parâmetro, que é
opcional. O método de instância ExampleMethod tem um parâmetro obrigatório,
required e dois parâmetros opcionais, optionalstr e optionalint . O código em Main
mostra as diferentes maneiras como o construtor e o método podem ser invocados.
C# = Copiar
namespace OptionalNamespace
{
class OptionalExample
{
static void Main(string[] args)
{
// Instance anExample does not send an argument for the
constructor's
// optional parameter.
ExampleClass anExample = new ExampleClass();
anExample.ExampleMethod(1, "One", 1);
anExample.ExampleMethod(2, "Two");
anExample.ExampleMethod(3);
https://docs.microsoft.com/pt-br/dotnet/csharp/programming-guide/classes-and-structs/named-and-optional-arguments 5/8
22/09/2019 Argumentos nomeados e opcionais – Guia de Programação em C# | Microsoft Docs
class ExampleClass
{
private string _name;
Interfaces COM
Os argumentos nomeados e opcionais, juntamente com suporte para objetos
dinâmicos e outros aprimoramentos, aprimoram enormemente a interoperabilidade
com APIs COM, como APIs de Automação do Office.
Por exemplo, o método AutoFormat na interface Range do Microsoft Office Excel tem
sete parâmetros, todos opcionais. Esses parâmetros são mostrados na seguinte
ilustração:
https://docs.microsoft.com/pt-br/dotnet/csharp/programming-guide/classes-and-structs/named-and-optional-arguments 6/8
22/09/2019 Argumentos nomeados e opcionais – Guia de Programação em C# | Microsoft Docs
C# = Copiar
var myFormat =
Microsoft.Office.Interop.Excel.XlRangeAutoFormat.xlRangeAutoFormatAccounting
1;
C# = Copiar
// The following code shows the same call to AutoFormat in C# 4.0. Only
// the argument for which you want to provide a specific value is listed.
excelApp.Range["A1", "B4"].AutoFormat( Format: myFormat );
Para obter mais informações e exemplos, confira Como usar argumentos nomeados e
opcionais na programação do Office e Como acessar objetos de interoperabilidade do
Office usando recursos do Visual C#.
Resolução de sobrecarga
O uso de argumentos nomeados e opcionais afeta a resolução de sobrecarga das
seguintes maneiras:
Especificação da Linguagem C#
Para obter mais informações, consulte a Especificação da linguagem C#. A especificação
da linguagem é a fonte definitiva para a sintaxe e o uso de C#.
Consulte também
Como: usar argumentos nomeados e opcionais na programação do Office
Usando o tipo dynamic
Usando construtores
Usando indexadores
Sim Não
https://docs.microsoft.com/pt-br/dotnet/csharp/programming-guide/classes-and-structs/named-and-optional-arguments 8/8