Pular para o conteúdo principal

C#: Acessando métodos internos e protegidos de um projeto

Em muitos casos você cria uma projeto com métodos internos ou protegidos por questões de design do projeto e segurança. Mas, em algum momento vem a necessidade liberar acesso para algum projeto que é de sua confiança.

Caso você tenha um projeto com classes ou métodos protected e internal e tenha necessidade em utilizar o código em outro projeto, como por exemplo um projeto de testes unitários para validar seu código, você pode adicionar uma regra no assembly do projeto que contem os objetos internal e protected.



Na classe AssemblyInfo.cs que se encontra no nó Properties adicione comando a seguir, substituindo namespace DotNet.Mongo.Repository.Test pelo namespace do seu projeto que irá acessar as rotinas internas. 

[assembly: InternalsVisibleTo("DotNet.Mongo.Repository.Test")]

Assim você define que seu projeto com objetos definidos com internos ou protegidos confia neste segundo projeto que necessita do acesso a estas rotinas.



Até a próxima :D

Comentários

Postagens mais visitadas deste blog

Dica: Extensão Indentar código VUE Visual Studio Code

Olá Por muitas é necessário um atalho para formatar o seu código fonte no editor de texto. Para formatação de HTML, CSS, JS e afins no visual studio code você pode utilizar o: HTML Snippets Mas esta extensão acima não formata arquivos de template .vue . Para formatar este tipo de arquivos é necessário instalar alguma outra extensão. Entre as que busquei a que faz o serviço da melhor forma atualmente utilizando o atalho alt+shift+f   é o plugin ventur: Vetur Este plugin é muito bom mesmo. Facilitou bastante a formatação de fontes em templates .vue. É isso espero que ajude;)

Dica rápida: Convertendo tipo coluna pySpark

Quando realizamos consultas no pyspark muitas vezes nos deparamos com cenários onde o tipo de coluna do dataframe não é o esperado. Precisamos por exemplo fazer alguma operação de maior e menor, soma, média, porém o tipo do dado esta como string. Para contornar este cenário você pode realizar cast no tipo da coluna pySpark. Abaixo segue exemplo de como converter para inteiro; #lendo o arquivo csv spark = SparkSession . builder . getOrCreate() athlete_events_spark = (spark . read . csv( "athlete_events.csv" , header = True, inferSchema = True, escape = '"' )) #modificando tipo da coluna que era string para inteiro athlete_events_spark = (athlete_events_spark . withColumn( "Height" , athlete_events_spark . Height . cast( "integer" ))) #imprimindo resultados e realizando operações matemáticas print (athlete_events_spark ...

Migrando repositório TFS para GIT

Chega o momento em que decidimos migrar do TFS para GIT por 'N' motivos e benefícios que esta migração pode trazer. Caso você tenha uma repositório de longa data e queira manter o histórico de checkins, o  git-tfs auxilia nesta tarefa. Uma das minhas formas preferidas para instalar é através do chocolatey . Com o chocolatey instalado em sua máquina basta abrir o powershell em modo admin e digitar: cinst GitTfs No powershell para clonar o repositório TFS para seu repositório git você deve digitar o seguinte comando: git tfs clone http : //meutfs.com $/diretoriotfs c : /diretorio-alvo-clone --branches=all -u=CORP\Usuario -p=****** Para mais opções de comando segue link do github do projeto.