Вызов вложенной функции - C#
Формулировка задачи:
Проблема вот в чем: У меня два файла в проекте, 1 - с формой, второй - с написанным классом, а также инициализированными в нем вложенными функциями. Мне нужно в файле с формой по нажатию кнопки вызвать вложенную функцию из файла с классом. Но выдается ошибка, что "Имя "название функции" не существует в текущем контексте". При этом на классе и на функции стоит public и они оба находятся в одном пространстве имен(пространстве имен проекта). Также странно, что объект класса спокойно себе инициализировался несколькими строками ранее безо всяких ошибок. В чем может быть проблема? Заранее спасибо.
и класс
Может, поможет
Пардон, вот коды. Форма:
namespace Final_Pract
{
public partial class KMForm : Form
{
public KMForm()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void StartBut_Click(object sender, EventArgs e)
{
List<Point> pixels = new List<Point> { };
List<Cluster> clust = new List<Cluster> { };
int m = Convert.ToInt32(ClusterNum.Text);
Start(m, clust, pixels);
}namespace Final_Pract
{
public struct Point
{
public int re, gr, bl, x, y;
public Point(int a, int b, int c, int m, int l)
{
re = a;
gr = b;
bl = c;
x = m;
y = l;
}
};
public class Cluster
{
public List<Point> pixels;
public int curX, curY, curZ;//координаты текущего центроида
public int lastX, lastY, lastZ;//координаты предыдущего центоида
public int Size() { return pixels.Capacity; }//получаем размер вектора
public void Add(Point pt) { pixels.Add(pt); }//Добавляем пиксель к кластеру
public void Clear()
{
pixels.Clear();
}
public void SetCenter()
{
}
public static void Bind(int k, List<Cluster> clust, List<Point> map)
{
}
public static void InitialCenter(int k, List<Cluster> clusarr, List<Point> vpt)
{
}
public static void Start(int k, List<Cluster> clusarr, List<Point> vpt)
{
InitialCenter(k, clusarr, vpt);
int count = 0;
for (;;)
count++;
{//Запускаем основной цикл
int chk = 0;
Bind(k, clusarr, vpt);//Связываем точки с кластерами
for (int j = 0; j < k; j++)//Высчитываем новые координаты центроидов
clusarr[j].SetCenter();
for (int p = 0; p < k; p++)//Проверяем не совпадают ли они с предыдущими цент-ми
if (clusarr[p].curX == clusarr[p].lastX && clusarr[p].curY == clusarr[p].lastY && clusarr[p].curZ == clusarr[p].lastZ)
chk++;
if (chk == k) return;//Если да выходим с цикла
}
}
}
}Решение задачи: «Вызов вложенной функции»
textual
Листинг программы
Start(m, clust, pixels);