创建没有无限实例化的实例

use*_*079 3 c# constructor winforms

这一行:mdv = new MapDesignerView();创建一个无尽的实例化(无限循环).请参阅下面的代码:

public partial class MapDesignerView : Form
{
    public  MapDesignerView mdv;
    public  Map map;
    public  MapController mapController;
    public MapConstructor mapConstructor;
    MouseEventHandler detectMouse;

    public MapDesignerView()
    {
        mdv = new MapDesignerView();
        map = new Map(mdv);
        mapController = new MapController(map);
        mapConstructor = new MapConstructor(mapController);
        detectMouse = new MouseEventHandler(mapController);
        InitializeComponent();
    }
}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我需要在MapDesignerView类中创建类的实例mapDesignView,以传递给另一个类构造函数.如何以不同的方式将此表单传递给Map构造函数,以便它无法无限实例化?

SLa*_*aks 6

听起来你正在寻找this,这是指当前的实例.