Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

O que significa 'Acessibilidade inconsistente'?

Olá,

Quando eu escrevi o programa da atividade proposta no visual studio , ele me mostrou essa sugestão:

Acessibilidade Inconsistente: tipo de parâmetro "Conta" é menos acessível do que o método "Form1.MostraConta(Conta, bool)"

O que isso quer dizer? O código está ai embaixo:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Banco
{
    public partial class Form1 : Form
    {
        Conta[] con = new Conta[5];
        Conta limpar = new Conta("",0,0);

        public void MostraConta(Conta conta, bool limpar = true)
        {
            if (limpar)
            {
                textoNome.Text = "";
                textoSaldo.Text = "";
                textoId.Text = "";
            }
            else
            {
                textoNome.Text = con[ind].Nome;
                textoSaldo.Text = app.Cds(con[ind].Saldo);
                textoId.Text = app.Cds(con[ind].IdConta);
            }
        }

        public Conta buscaContaSelecionada(int ind)
        {
            return con[ind];
        }

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            for (int i = 0; i < con.Length; i++)
            {
                con[i] = new Conta("c" + i, i, i * 100);
                boxContas.Items.Add(con[i].Nome);
            }
        }

        private void boxContas_SelectedIndexChanged(object sender, EventArgs e)
        {
            this.MostraConta(this.buscaContaSelecionada(boxContas.SelectedIndex), false);
        }

        private void botaoDeposito_Click(object sender, EventArgs e)
        {
            this.buscaContaSelecionada(boxContas.SelectedIndex).Deposito(app.Csd(textoValor.Text));
        }

        private void botaoSaque_Click(object sender, EventArgs e)
        {
            this.buscaContaSelecionada(boxContas.SelectedIndex).Saque(app.Csd(textoValor.Text));
        }


    }
}

Agradeço a ajuda.

1 resposta
solução!

Quer dizer que sua classe Conta não é, nesse caso, pública. Provavelmente ela está sem marcação explícita, o que significa que é internal. Basta você escrever "public" na frente da classe:

public class Conta 
{
     ///Propriedades e métodos
}