Просмотреть методы другого класса при доступе к основному классу? С#C#

Место общения программистов C#
Anonymous
Просмотреть методы другого класса при доступе к основному классу? С#

Сообщение Anonymous »

Я хотел бы решить свою проблему элегантным способом, а не записывать все методы другого моего класса в класс основного компонента (более 100 методов)
Итак, в упрощенной версии: У меня есть класс компонента единства:

Код: Выделить всё

public class MyAnimator : MonoBehaviour
{
AnimatorHandler handler;
public AnimatorHandler Handler => handler;
}
и класс AnimatorHandler, например:

Код: Выделить всё

public class AnimatorHandler
{
public void DoOperation1() { }
public void DoOperation2() { }
... and a lot of more public operations
}
Я хотел бы предоставить пользователю доступ ко всем методам DoOperation1() DoOperation2() класса-обработчика, просто обратившись к классу MyAnimator.
Например:

Код: Выделить всё

    void MyUpdate(MyAnimator animator)
{
animator.DoOperation1();
}
а не

Код: Выделить всё

    void MyUpdate( MyAnimator animator )
{
animator.Handler.DoOperation1();
}
или записывая все методы AnimatorHandler в MyAnimator, а не так:

Код: Выделить всё

public void DoOperation1() => handler.DoOperation1();
В таком случае я бы получил дополнительный файл .cs с примерно 1000 строками кода, и мне пришлось бы обновлять его каждый раз, когда я что-то меняю в классе MyAnimator.Есть ли разумное решение для такого случая?
Может быть, есть возможность вернуть обработчик вместо экземпляра MyAnimator при получении ссылки?
Спасибо.


Подробнее здесь: https://stackoverflow.com/questions/783 ... ss-c-sharp

Вернуться в «C#»