gpt4 book ai didi

c# - InitializeComponent 在两个构造函数中,还是在一个具有构造函数继承的构造函数中?

转载 作者:行者123 更新时间:2023-11-30 16:36:42 24 4
gpt4 key购买 nike

在对组件模型的影响方面是否存在任何实际差异:

class MyComponent : Component {
public MyComponent() {
InitializeComponent();
}

public MyComponent(IContainer container) {
container.Add(this);
InitializeComponent();
}
}

和:

class MyComponent : Component {
public MyComponent() {
InitializeComponent();
}

public MyComponent(IContainer container) : this() {
container.Add(this);
}
}

如果不是,为什么 Microsoft 为其设计器生成的代码选择第一种方法?

编辑:我的意思是,在初始化组件和将其添加到容器之间改变顺序会不会有任何副作用?

最佳答案

执行顺序不同。在

public MyComponent(IContainer container) {
container.Add(this);
InitializeComponent();
}

InitializeComponent() container.Add() 之后执行,而这里

public MyComponent(IContainer container) : this() {
container.Add(this);
}

container.Add()InitializeComponent()

之后执行

关于c# - InitializeComponent 在两个构造函数中,还是在一个具有构造函数继承的构造函数中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/541816/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com