C# 7.0 - Apresentando Funções Locais
No artigo de hoje veremos as funções locais, um novo recurso da versão 7.0 do C#. |
As funções locais foram introduzidas na versão 7.0 da linguagem C#.
O que são ?
Funções locais são métodos privados de um tipo que estão aninhados em outro membro.
As funções locais podem ser declaradas e chamadas em :
Assim podemos definir uma função dentro de outra função, mas, não podemos declarar funções locais dentro de um Expression-Body Member.
Você pode usar este recurso para isolar um método que possui um escopo limitado dentro de outro método.
Nota: O conceito de funções locais é semelhante aos métodos anônimos, quando você precisa criar uma funcionalidade que é apenas local.
A figura abaixo exibe o escopo das funções locais :
|
Vamos supor que você esta criando um método chamado Calcular() para realizar cálculos que vai receber uma expressão contendo o cálculo a ser realizado, e, que este cálculo envolve realizar operações de adição, subtração, multiplicação e divisão. Ex: [2 + ( 3*5)/2 - 1 ]
|
Neste cenário os cálculos serão usados somente pelo método Calcular().
Podemos então pensar em criar funções locais, ou métodos privados, dentro do método Calcular().
Vamos criar 4 funções locais : Adicionar(), Subtrair(), Multiplicar() e Dividir() dentro do método Calcular() :
|
Vejamos agora um exemplo prático de como calcular o fatorial de um número usando funções locais.
A seguir temos o código que usa a classe Calculo() e o método CalcularFatorial() :
Abaixo temos o resultado da execução do código :
Devemos lembrar algumas restrições das funções locais que são:
Pegue o projeto aqui : CShp_FuncLocal.zip
"Porque o Senhor é justo, e ama a justiça; o seu rosto olha para os retos."
Salmos 11:7
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Super DVD C# - Recursos de aprendizagens e vídeo aulas para C#
Curso Fundamentos da Programação Orientada a Objetos com VB .NET
VB .NET - Parâmetros e Argumentos - conceitos - Macoratti.net
VB .NET - Lendo parâmetros da linha de comando - Macoratti.net