Olá, Giovanni
Obrigado, fico feliz que tenha gostado do curso!
Sim, eu usei um caso extremo para demonstrar a interpolação de strings, porém na vida real teríamos algo como o modelo do contrato de trabalho num arquivo texto, e o programa teria que abrir esse arquivo e substituir os campos pelas propriedades do objeto contrato
.
O que eu faria, nesse caso? Aqui vão alguns passos que você pode realizar no projeto:
- crie um documento chamado documento.txt e inclua como item do projeto, marcando Copy to Output Directory = Copy if newer.
- Em seguida, substitua todas as chaves do documento por símbolos de maior/menor, exemplo:
CONTRATO INDIVIDUAL DE TRABALHO TEMPORÁRIO
EMPREGADOR: <contrato.Empresa.RazaoSocial>, com sede à <contrato.Empresa.Endereco.Logradouro>, <contrato.Empresa.Numero>, <contrato.Empresa.Endereco.Bairro>, CEP <contrato.Empresa.Endereco.CEP>, <contrato.Empresa.Endereco.Localidade>, <contrato.Empresa.Endereco.UF>, inscrita no CNPJ sob nº <contrato.Empresa.CNPJ>;
EMPREGADO: <contrato.Funcionario.Nome>, <contrato.Funcionario.Nacionalidade>, <contrato.Funcionario.EstadoCivil>, portador da cédula de identidade R.G.nº <contrato.Funcionario.RG> e CPF/ MF nº <contrato.Funcionario.CPF>, residente e domiciliado na <contrato.Funcionario.Endereco.Logradouro>, <contrato.Funcionario.Numero>, <contrato.Funcionario.Endereco.Bairro>, CEP <contrato.Funcionario.Endereco.CEP>, <contrato.Funcionario.Endereco.Localidade>, <contrato.Funcionario.Endereco.UF>.
...
Agora substitua o campo contrato.Empresa.RazaoSocial por chaves com índice zero: EMPREGADOR: {0}
, em todos os locais do arquivo
Comente o Console.WriteLine
do documento e adicione código para ler o documento e usar string.Format
para substituir o campo de razão social da empresa por um argumento:
//Console.WriteLine(documento);
using (var sr = new StreamReader("documento.txt"))
{
var content = sr.ReadToEnd();
Console.WriteLine(string.Format(content, contrato.Empresa.RazaoSocial));
}
- Isso irá produzir uma string formatada conforme abaixo. Repita esses passos para os demais campos do contrato.
CONTRATO INDIVIDUAL DE TRABALHO TEMPORÁRIO
EMPREGADOR: Alura Serviços Hidráulicos Ltda., com sede à <contrato.Empresa.Endereco.Logradouro>, <contrato.Empresa.Numero>,