Как перебрать все элементы определенного класса, доступные в данном классе - C#

Узнай цену своей работы

Формулировка задачи:

Есть у меня некий класс Car Я создал несколько его экземпляров Экземпляр класса Car в качестве одного из параметров принимает Control из формы Я создал несколько экземпляров, всем навешал в качестве одного параметра по кнопке(разной). Есть метод move его задача передвигать контрол по форме Как сделать так, чтоб при нажатии на кнопку метод передвигал именно тот контрол, к которому привязан экземпляр car исходники прилагаются
namespace Classes
{
    public partial class Form1 : Form
    {
        Car lambo;
        Car jigul;
        MoveMethod go;
        public Form1()
        {
            InitializeComponent();
            lambo = new Car(button1, 100);
            go = new MoveMethod (moveCar);
            jigul = new Car(button2, 50);
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            //надо сделать какой-то метод, который будет двигать контрол именно тот, на который произошел клик
            //button1_Click выполняется не только для одной кнопки, а для всех
            //я думал перебрать все элементы, что находятся у меня в этом классе и потом определить, к какому привязан
            // контрол, на который кликнули, и чтоб выполнялось действие
        }
        private void Go(Car car, object sender)
        {
            Car.Move(car,go);
        }
         private void moveCar(object car, int speed)
        {
             while(lambo.Moving)
             {
                 (car as Control).Location = new Point((car as Control).Location.X + (speed / 100), (car as Control).Location.Y);
                 System.Threading.Thread.Sleep(20);
             }
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Classes
{
    public delegate void MoveMethod(object car, int speed);
    class Car
    {
        private bool _moving;
 
        public bool Moving
        {
            get { return _moving; }
            set { _moving = value; }
        }
        private int _speed;
        private object _car;
 
        public object CarObj
        {
            get { return _car; }
            set { _car = value; }
        }
 
        public int Speed
        {
            get { return _speed; }
            set { _speed = value; }
        }
 
        public void Move(MoveMethod go)
        {
            _moving = true;
            go(_car, _speed);
        }
        public static void Move(Car car, MoveMethod go)
        {
            car.Move(go);
        }
 
        public Car(object car, int speed)
        {
            _car = car;
            _speed = speed;
            _moving = false;
 
        }
    }
}

Решение задачи: «Как перебрать все элементы определенного класса, доступные в данном классе»

textual
Листинг программы
Car lambo;
Car jigul;
Car AnotherCarName;
// ... 
 
public Form1()
{
    /* ... */
 
    lambo = new Car(button1, 100);
    jigul = new Car(button2, 50);
 
    /* ... */
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.875 из 5
Похожие ответы