1
resposta

Erro no exercício

Quando tentei implementar o exercício que pede para enviar o resultado de uma soma para a view e nessa view, mostrar um display alert com o resultado, há um problema:

fiz aqui, deu erro, dai conferi com o do professor, estava a mesma coisa, só mudando nomes...

dá erro no MessagingCenter.Send dizendo que "The type decimal must be a reference type in order to use it as parameter TSend...

a variável soma deveria ser uma referência a um objeto? Me perdi aqui...

1 resposta

Olá, José Guilherme

Realmente havia um erro no exercício, acabamos de corrigir. O código completo ficaria assim:

CalculadoraView.xaml.cs
=======================

public partial class CalculadoraView : ContentPage
{
    public CalculadoraView()
    {
        InitializeComponent();
    }

    protected override void OnAppearing()
    {
        base.OnAppearing();
        MessagingCenter.Subscribe<object>(this, "SomaCalculada",
            (msg) =>
            {
                DisplayAlert("Soma", 
                    string.Format("O resultado da soma é: {0}", msg), "Ok");
            });
    }
}


CalculadoraViewModel.cs
=======================

public class CalculadoraViewModel
{
    public void CalculaSoma(decimal parcela1, decimal parcela2)
    {
        decimal soma = parcela1 + parcela2;
        MessagingCenter.Send<object>(soma, "SomaCalculada");
    }
}

Obrigado por nos avisar!