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. 

[assemblyInternalsVisibleTo("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;)

C# :Removendo propriedades nulas ao serializar JSON

Olá Para serializar uma classe em formato JSON em c#,por muitas vezes é utilizado o pacote Newtonsoft . Em alguns momentos há a necessidade de serializar somente as propriedades que estiverem preenchidas no objeto, removendo assim as que estiverem nulas. Para isto você pode utilizar a propriedade  NullValueHandling da classe  JsonSerializerSettings . Segue exemplo: Até a próxima

Como criar componente dropdown com checkbox ASP.NET MVC

Neste post irei demonstrar a criação de um componente  dropdown com checkbox para selecionar as opções desejadas. Para começar podemos criar uma classe estática para criar o componente que será utilizado numa página razor. public static class Extensions { public static MvcHtmlString DropdownCheckbox( this HtmlHelper helper, string placeholder, IEnumerable<SelectListItem> selectList, object htmlAttributes) { string items = "" ; string rodape = "" ; if (htmlAttributes == null ) { htmlAttributes = new { }; } var attributes = new ExpandoObject() as IDictionary< string , Object>; foreach (PropertyInfo property in htmlAttributes.GetType().GetProperties()) { attributes.Add(property.Name, property.GetValue(htmlAttributes)); } string idDropdown = "dr