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

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

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

Есть у меня некий класс Car Я создал несколько его экземпляров Экземпляр класса Car в качестве одного из параметров принимает Control из формы Я создал несколько экземпляров, всем навешал в качестве одного параметра по кнопке(разной). Есть метод move его задача передвигать контрол по форме Как сделать так, чтоб при нажатии на кнопку метод передвигал именно тот контрол, к которому привязан экземпляр car исходники прилагаются
Листинг программы
  1. namespace Classes
  2. {
  3. public partial class Form1 : Form
  4. {
  5. Car lambo;
  6. Car jigul;
  7. MoveMethod go;
  8. public Form1()
  9. {
  10. InitializeComponent();
  11. lambo = new Car(button1, 100);
  12. go = new MoveMethod (moveCar);
  13. jigul = new Car(button2, 50);
  14. }
  15. private void button1_Click(object sender, EventArgs e)
  16. {
  17. //надо сделать какой-то метод, который будет двигать контрол именно тот, на который произошел клик
  18. //button1_Click выполняется не только для одной кнопки, а для всех
  19. //я думал перебрать все элементы, что находятся у меня в этом классе и потом определить, к какому привязан
  20. // контрол, на который кликнули, и чтоб выполнялось действие
  21. }
  22. private void Go(Car car, object sender)
  23. {
  24. Car.Move(car,go);
  25. }
  26. private void moveCar(object car, int speed)
  27. {
  28. while(lambo.Moving)
  29. {
  30. (car as Control).Location = new Point((car as Control).Location.X + (speed / 100), (car as Control).Location.Y);
  31. System.Threading.Thread.Sleep(20);
  32. }
  33. }
  34. }
  35. }
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace Classes
  7. {
  8. public delegate void MoveMethod(object car, int speed);
  9. class Car
  10. {
  11. private bool _moving;
  12. public bool Moving
  13. {
  14. get { return _moving; }
  15. set { _moving = value; }
  16. }
  17. private int _speed;
  18. private object _car;
  19. public object CarObj
  20. {
  21. get { return _car; }
  22. set { _car = value; }
  23. }
  24. public int Speed
  25. {
  26. get { return _speed; }
  27. set { _speed = value; }
  28. }
  29. public void Move(MoveMethod go)
  30. {
  31. _moving = true;
  32. go(_car, _speed);
  33. }
  34. public static void Move(Car car, MoveMethod go)
  35. {
  36. car.Move(go);
  37. }
  38. public Car(object car, int speed)
  39. {
  40. _car = car;
  41. _speed = speed;
  42. _moving = false;
  43. }
  44. }
  45. }

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

textual
Листинг программы
  1. Car lambo;
  2. Car jigul;
  3. Car AnotherCarName;
  4. // ...
  5.  
  6. public Form1()
  7. {
  8.     /* ... */
  9.  
  10.     lambo = new Car(button1, 100);
  11.     jigul = new Car(button2, 50);
  12.  
  13.     /* ... */
  14. }

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


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

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

8   голосов , оценка 3.875 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы