2
respostas

Errro CS103

Ao trocar as propriedades da Classe Detalhe View para a Classe Veiculo.cs o compilador acusa que não existe o nome no contexto atual, apesar do uso da diretiva using indicando os namespaces

2 respostas

Oi Bruno, tudo bem? Por favor, tente excluir todas as pastas bin e obj e executar uma limpeza e rebuild completos na sua solução. Se não funcionar, nos avise. Obrigado!

O erro continua, abaixo se encontram os codigos das pastas Veiculo.cs e DetalheView.xaml.cs

//Veiculo.cs

using System;
using System.Collections.Generic;
using System.Text;

namespace Xamarin1_Alura.Models
{
    public class Veiculo
    {
        public const int Ar_Condicionado = 1000;
        public const int ABS = 800;
        public const int Central_Multimidia = 500;
        public string Nome { get; set; }
        public double Valor { get; set; }
        public string ValorFormatado
        {
            get
            {
                return $"R${Valor}";
            }

        }
        public bool TemABS { get; set; }
        public bool TemArCondicionado { get; set; }
        public bool TemMultimidia { get; set; }

        public Veiculo(string nome,double valor)
        {
            Nome = nome;
            Valor = valor;
        }
    }
}
//DetalheView.Xaml.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using Xamarin.Forms;
using Xamarin.Forms.Xaml;
using Xamarin1_Alura.Models;

namespace Xamarin1_Alura.Views
{
    [XamlCompilation(XamlCompilationOptions.Compile)]
    public partial class DetalheView : ContentPage
    {

        private double _valortotal;
        private bool _temfreioABS;
        private bool _temMultimidia;
        private bool _temAr;
        public string NomeVeiculo { get; set; }
        public string TextoABS{ get { return $"Freio ABS - {Veiculo.ABS}"; } }
        public string TextoCentralMultimidia { get { return $"Central Multimidia - {Veiculo.Central_Multimidia}"; } }
        public string TextoArCondicionado { get { return $"Ar Condicionado - {Veiculo.Ar_Condicionado}"; } }
        public bool Freio
        {
            get
            {
                return Veiculo.TemABS;   //ERRO CS120 AQUI
            }
            set
            {
                TemABS = value;    //ERRO CS103 AQUI
                OnPropertyChanged(nameof(ValorTotal));
            }

        }
        public bool Multimidia
        {
            get
            {
                return _temMultimidia;
            }
            set
            {
                _temMultimidia = value;
                OnPropertyChanged(nameof(ValorTotal));
            }

        }
        public bool ArCondicionado
        {
            get
            {
                return _temAr;
            }
            set
            {
                _temAr = value;
                OnPropertyChanged(nameof(ValorTotal));
            }

        }

        public string ValorTotal
        { get
            {
                return $"Valor Total: R${_valortotal + (_temfreioABS ? Veiculo.ABS : 0) + (_temAr ? Veiculo.Ar_Condicionado : 0) + (_temMultimidia ? Veiculo.Central_Multimidia : 0)}"; //se _temfreioABS retorna true soma valor total com ABS senão soma com 0
            }
        }

        public DetalheView(Veiculo veiculo)
        {
            NomeVeiculo = veiculo.Nome;
            _valortotal = veiculo.Valor;
            InitializeComponent();
            BindingContext = this;
        }

        private void ButtonProximo_Clicked(object sender, EventArgs e)
        {
            Navigation.PushAsync(new ContatoView(NomeVeiculo));
        }


    }
}