VladOsadchyi
@VladOsadchyi
Студент

Не получается вызвать функцию из другой функции?

Не вызывает XArF() в private void button1_Click(object sender, EventArgs e)

Ошибка CS0103 Имя "XArF" не существует в текущем контексте.

П.С. не ругайтесь, я ток учусь.....

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 WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            XArF();
        }

        public RichTextBox getRichTextBox1()
        {
            return richTextBox1;
        }

    }

    public class Main : Form1
    {
        public double[] xAr;

        public void XArF()
        {
            int n = getRichTextBox1().Lines.Length;
            int k = 0;

            for (int i = 0; i < n; i++)
            {
                xAr[k] = Convert.ToInt32(getRichTextBox1().Lines[i]);
                k++;
            }
        }
    }
}
  • Вопрос задан
  • 206 просмотров
Решения вопроса 3
zagayevskiy
@zagayevskiy
Android developer at Yandex
Этот метод определен в наследнике. И, естественно, базовый класс не имеет к нему доступа.
Ответ написан
@Mindgrow
Вы пытаетесь вызвать метод класса-наследника из класса родителя.
Перенесите методы, подобные XArF() в родитель и дайте им параметры protected - если хотите вызывать этим методы только внутри класса наследника, или public - если хотите вызывать извне.
Ответ написан
Комментировать
twobomb
@twobomb
Подождите как я понял Main наследуется от Form1. И метод находится в Main, а пытаетесь вы его вызвать из Form1. Конечно он его не видит, откуда ему знать про него. Вот если бы этот метод был описан в Form1 и вызывать его из Main то пожалуйста, а наоборот нет. Вызывать можно только свои методы или методы родителя с модификаторами protected и public. Родитель тут Form1, а Main это потомок. Родители не знают о методах потомков.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы