gpt4 book ai didi

c# - 构造函数中的虚拟成员调用

转载 作者:行者123 更新时间:2023-12-02 15:50:38 24 4
gpt4 key购买 nike

在我的应用程序中,我在不同的上下文中运行相同的 winform 来控制按钮的可见性、文本字段的启用和 winform 标题文本。我决定这样做的方法是简单地将一个字符串传递给表单构造函数,并使用几个 if 语句对其进行检查,这些语句又包含所需的 winform 调整。

if (formContext == "add")
{
Text = "Add member";
}
if (formContext == "edit")
{
Text = "Change role";
userTextBox.Enabled = false;
searchButton.Visible = false;
}

这工作正常,但是“Text”关键字会出现一条由 ReSharper 添加的蓝色波浪线,并显示以下消息:构造函数中的虚拟成员调用。这是一个潜在的问题还是只是某种过于热情的 ReSharper 消息。

任何有关改进我的实现的澄清或建议将不胜感激。

最佳答案

基类构造函数中的虚拟成员调用可能导致在调用子类构造函数之前(因此在对象有机会将自身初始化为一致的状态之前)在子类中运行一些逻辑州)。

这只是一个很好的提醒,让您知道您正在做的事情可能会导致一些令人讨厌的意外行为。

关于c# - 构造函数中的虚拟成员调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/457482/

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