Так что я грубо получил это:C# Вызов метода из объекта
public partial class Form1 : Form
{
GameEngine engine;
public Form1()
{
engine = new GameEngine();
}
public void repaint()
{
}
}
class GameEngine
{
public void update()
{
}
}
Теперь я хочу кое-что добавить к методу обновления(), что делает его вызвать метод перекрасить(), внутри этого экземпляра класс Form1, в котором был создан соответствующий объект класса GameEngine.
В Java я мог бы сделать это как этот
engine = new GameEngine()
{
public void repaintCaller()
{
repaint();
}
};
и вызвать метод repaintCaller() в обновлении(), но это не работает в C#, что теперь является equilvalent способ сделать это в C#?
Я думаю, что ваш вопрос является своим родом againts в объектно-ориентированных принципах, который является C#. Вы можете дать GameEngine ссылку на форму, но я думаю, что это будет плохой дизайн. Наличие третьего класса, который соединяется между ними, кажется более мудрым – misha130