我有以下代码
public Insight3DPluginControl(Insight3DPlugin plugin, MapViewModel viewModel)
: base(plugin)
{
InitializeComponent();
RXMouse = new RXMapMouse(this);
eob_tool = new EOBTool(RXMouse);
}我一直在尝试在新的RXMapMouse()中使用' this‘,这是由’this‘的构造函数调用的,我试图理解这样做的原因以及设计模式将被调用的原因。
我知道在被传递给RXMapMouse()之前对象已经被初始化了,但是这是否意味着在我们分配RXMouse字段时更改当前的Insight3DPluginControl对象,然后就会更改RXMapMouse()中的对象呢?
发布于 2015-04-29 07:59:37
"this“关键字是表示当前对象的”变量“。
也许这个( :D )会让你更好地理解它:
public Insight3DPluginControl(Insight3DPlugin plugin, MapViewModel viewModel)
: base(plugin)
{
InitializeComponent();
Insight3DPluginControl theControl = this;
RXMouse = new RXMapMouse(theControl);
eob_tool = new EOBTool(RXMouse);
}所以,基本上,"RXMapMouse“需要一个" Insight3DPluginControl”int构造函数的实例,在那一行中,代码所在的当前Insight3DPluginControl正在被发送。
https://stackoverflow.com/questions/29931946
复制相似问题