Fala galera!
É muito comum que durante nosso desenvolvimeno tenhamos de fazer conversão de tipos.
Seja converter de uma string que veio do input de usuário para tipos como int, float ou decimal, seja convertendo de um tipo de dados que veio de uma API interna ou externa.
Para a mioria destas conversõs podemos utilizar a classe Convert e seus métodos específicos:
ToInt32, ToDouble, ToLong, etc.
Mas há conversões ainda mais avançadas e que pouco utilizamos, apesar de serem bem úteis.
Temos o Convert.ToBase64String e Convert.FromBase64String que faz a vpnersão de um objeto para uma presentação em Base64 muito útil para ser enviada através da Web e outros protocolos de comunicaÇão baseados em texto onde caracteres especiais podem ser rejeitados.
Mas o método mais poderoso é o ChangeType. Ele recebe dois parametros onde o primeiro é o objeto a ser convertido e o segundo o tipo para o qual ele deve ser convertido.
Ainda não me deparei com o código fonte deste método, mas ele tem sido particularmente útil em desenvolvimento Xamarin na conversão em APIs que retornam java.lang.object.
Em breve publico aqui um exemplo mais comncreto, mas conhecer bem o framework ajuda demais a resolver problemas que parecem complexos com algo que já está lá pronto esperando pra ser usado.
Até amanhã!