Em C#, o tipo de dado struct suporta algumas características O.O, como construtor,
métodos e herança. Esses assuntos serão vistos com mais detalhes em
C#: P.O.O.
Sintaxe: construtor
modificador_acesso nome_struct(<lista_parametros>)
{
//atribuição
}
No exemplo abaixo, declaramos um método construtor para iniciar nossa struct
com valores passados como argumento.
Exemplo 6
using System;
public class Program
{
public struct MinhaStruct
{
public int codigo;
public MinhaStruct(int c)
{
codigo = c;
}
}
static void Main()
{
MinhaStruct ms = new MinhaStruct(999);
Console.WriteLine(ms.codigo);
}
}
Saída
999
Para a declaração de métodos dentros de structs, seguimos a sintaxe abaixo:
Sintaxe: método
modificador_acesso tipo_retorno nome_metodo(<lista_parametros>)
{
//corpo
}
O acesso ao método é feito utilizando o operador de acesso a membros (.):
Sintaxe
nome_struct.nome_metodo(lista_argumentos);
Exemplo 7
using System;
public class Program
{
public struct MinhaStruct
{
//membros omitidos
public void metodo(int valor)
{
Console.WriteLine(valor);
}
}
static void Main() {
MinhaStruct ms = new MinhaStruct();
ms.metodo(999);
}
}
Saída
999