C# interno

C# interno
Modificadores de acesso são um item obrigatório em qualquer programação orientada a objetos. Os modificadores de acesso são usados ​​para proteger seus dados usando -os com os membros de dados e funções membros. Esses modificadores de acesso são: público, privado, protegido e interno de acordo com as fontes. O modificador de acesso interno funciona da mesma forma que o membro de acesso privado, mas em diferentes níveis de programação. O modificador privado funciona no nível da aula, enquanto o modificador interno funciona no nível da montagem. Hoje, estaremos deliberando o uso de modificadores de acesso interno.

Exemplo 01

Antes de usar o modificador de acesso interno, primeiro precisamos analisar o modificador de acesso "privado" na programação C#. Então, estamos usando o espaço para nome definido pelo usuário chamado "New", contendo duas classes. A classe "teste" contém a função principal () para iniciar a execução deste código. O console.A instrução writeLine () nesta função de driver principal () é usada para exibir o texto “Método principal da classe de teste” em nossas telas. Um objeto "Obj" para a classe "novo" foi criado usando o nome da classe. A classe "novo" contém um membro de dados privado "X" do tipo inteiro com o valor "14". Isso significa que o valor da variável "x" não pode ser acessado por qualquer outra função de outras classes, mesmo que sejam derivados.

A função Main () está usando o objeto "OBJ" da nova classe para atualizar o valor do membro de dados privado "X" da classe "Novo", I I.e., Não é possível agora. Depois de chamar o show () função com o objeto "obj" no método main (), a execução do método show () com o modificador de acesso "público" deve ocorrer. Não parece assim por causa do modificador de acesso privado com a variável "x". Ambas as classes são concluídas e o código está pronto para uso. Temos que salvá -lo primeiro com Ctrl+S e sair do editor fechando -o usando o sinal cruzado do editor de texto.

Depois que o código é salvo, você deve compilá -lo usando o compilador C# “MCS” já configurado no Linux. Esta etapa obrigatória nos mostra que o erro ocorreu na linha 12 do nosso código C#, eu.e., A variável “x” não pode ser acessada dentro da classe de teste, conforme definido com o modificador de acesso privado. Então, precisamos corrigir este erro.

Abrimos o arquivo C# novamente no editor de texto e atualizamos o código substituindo o modificador de acesso privado da variável "x" pelo modificador de acesso público. Não vamos mudar o código restante, pois não é necessário. Então, salvamos o código recém -atualizado mais uma vez.

Quando usamos o comando MCS Compiler no shell seguido pelo nome de um arquivo C#, o código foi compilado com sucesso. Depois disso, executamos o arquivo "exe" criado pelo compilador de C# no shell, e a saída foi exibida, eu.e., Um valor de "x" foi atualizado.

Exemplo 02

Agora, vamos dar uma olhada no uso de modificadores de acesso interno para definir o escopo de algumas variáveis ​​nas classes do código C#. Então, iniciamos este exemplo C# com a adição da biblioteca do sistema e criamos um espaço para nome "novo". Este espaço para nome contém duas classes independentes chamadas "Novo" e "Teste.”A classe“ teste ”contém a função de código do driver principal (), enquanto a classe“ nova ”contém a variável inteira“ x ”, tendo um valor de 14 definido com o modificador de acesso interno e a função show (). O novo objeto de classe "OBJ" foi gerado usando a "nova" palavra -chave seguida pelo nome de uma classe. Este novo objeto de classe foi utilizado na próxima linha para atualizar o valor da variável "x" por "0".

Agora, a variável "X" será atualizada com sucesso, pois a variável "x" é definida com um modificador de acesso interno dentro do mesmo conjunto de namespace “Novo.”A função Show () foi chamada com esse mesmo objeto,“ Obj.”Quando a função show () for executada, ela exibirá o valor atualizado de" x "no shell via console.Declaração de função writeLine ().

É hora de salvar rapidamente nosso arquivo de código com ctrl+s e retornar ao terminal novamente. Temos executado o comando "MCS" para compilação de código C# para executar o "interno.Arquivo CS ”no shell. Esta compilação foi bem -sucedida e o arquivo "exe" compilado para o interno.CS foi criado em nosso diretório de trabalho atual. Usamos esse arquivo "exe" para executá -lo com o comando de tempo de execução "mono" no shell. A saída foi exibida com sucesso como abaixo. A função principal () é executada primeiro conforme a string exibida e, depois disso, o valor atualizado "0" da variável "x" é exibido com sucesso.

É assim que um modificador de acesso interno funciona no código C# quando usado no mesmo espaço de nome. Vamos fazer alterações em nosso código para ver como um modificador de acesso interno afeta a execução do código C# quando usado entre mais de uma montagem. Você criou dois espaços para names no seu mesmo código C#, eu.e., Novo e teste. Dentro do novo espaço para nome, criamos uma classe nova e inicializamos uma variável "X" do modificador de acesso interno com o valor 14. A mesma classe de espaço para nome new contém a função show () para exibir o valor de “x.”

Por outro lado, o teste de namespace contém um teste de classe com uma função principal (). Esta função main () está criando um objeto de classe novo do outro espaço para nome, “Novo.”O mesmo objeto foi usado para modificar o valor da variável“ x ”e chamar a função show () para exibir o valor atualizado da variável“ x.”Agora, a variável“ X ”é definida no espaço de nome“ novo ”enquanto o objeto está tentando acessá -lo no outro espaço de nome“ Teste.”Devido ao modificador de acesso interno com variável“ x ”, podemos encontrar um erro. Vamos ver isso agora.

Depois de compilar este código, recebemos o erro como esperado, eu.e., tipo protegido.

Para evitar esse erro na compilação, temos que atualizar o código como fizemos no código acima do último código. Então, removemos o espaço para nome "novo" do código e não removemos o espaço para nome de teste do código, como mostrado abaixo.

Após a compilação e execução do código após esta atualização, ela foi executada com sucesso e exibiu o valor modificado da variável "x" no shell, independentemente de seu tipo interno.

Conclusão

Terminamos de implementar os exemplos para o modificador de acesso interno em C#. Iniciamos este artigo com o exemplo de discutir o modificador de acesso privado para compará -lo com os modificadores de acesso interno, pois ambos fazem o mesmo trabalho em diferentes níveis de programação. Tentamos usar o modificador de acesso interno no mesmo espaço de nome, dois espaços de nome diferentes e nenhum espaço para nome definido na classe. Elaboramos seu uso para proteger as variáveis ​​de membros de dados e a função em C#.