Сосиска методов в одном классе - C#
Формулировка задачи:
Добрый день.
Возможно проще сделать сосиску методов но в одном классе.
Дело в том что есть 100 методов для управление роботом. Сейчас они записаны так:
Robot_Ruka_Verx()
Rotov_Ruka_Vniz()
Rotot_Noga_Verx()
Rotov_Noga_Vniz()
Но хочется сделать так, но проще не плодя классы внутри классов?
Robot.Ruka.Verx()
Rotov.Ruka.Vniz()
Rotot.Noga.Verx()
Rotot.Noga.Vniz()
Сделать классы в классе я умею (Но долго и много писанины), но вдруг студия упростила данную задачи и давно ввела синтаксический сахар о котором я не знаю? Может кто то что то знает? другово варианта нету как делать класс в классе?
Пример того что я сделал:
class C_Robot { public C_Ruka Ruka = new C_Ruka(); public C_Noga Noga = new C_Noga(); public class C_Ruka { public void Verx() { } public void Vniz() { } } public class C_Noga { public void Verx() { } public void Vniz() { } } } private void button1_Click(object sender, EventArgs e) { C_Robot Robot = new C_Robot(); Robot.Ruka.Verx(); Robot.Ruka.Vniz(); Robot.Noga.Verx(); Robot.Noga.Vniz(); }
Решение задачи: «Сосиска методов в одном классе»
textual
Листинг программы
public enum RobotsLimb { LeftHand = 0, RightHand = 1, LeftLeg = 2, RightLeg = 3 } public class C_Robots { /*тут всё что нужно для кода робота*/ public void Move(RobotsLimb limb) { switch (limb) { case RobotsLimb.LeftLeg://двигаем левую ногу /*код движения*/ break; case RobotsLimb.RightLeg:// двигаем правую ногу /*код движения*/ break; case RobotsLimb.LeftHand://двигаем левую руку /*код движения*/ break; case RobotsLimb.RightHand: // двигаем правую руку /*код движения*/ break; default: // пришло что-то неизвестное можно выдать или ошибку, или просто ничего не делать break; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д