【问题标题】:How to assign class property to point on Windows form variable如何将类属性分配给 Windows 表单变量上的点
【发布时间】:2019-02-20 12:50:49
【问题描述】:

我有类 KeyWordsManager

public class KeyWordsManager
{
public Designation designation { get; set; }

public KeyWordsManager(ref Designation design)
{
this.designation=design;
}
}


我有我的 Windows 窗体,它有“全局变量指定”

public partial class NewJob : Form
{
//some code
    private Designation newJobDesignation=new Designation();

 private void NewJob_Load(object sender, EventArgs e)
    {
        KeyWordsManager manager = new KeyWordsManager(ref newJobDesignation);
    }
}


问题是当我想修改表单中的 newJobDesignation 变量时,当我尝试从 KeyWordsManager 类中为某个文本框设置值时,它没有改变,就好像它没有引用表单类中的对象一样。

我有相同的方案,但我使用 ComboBox 而不是我的自定义 Designation 类,并且运行良好。
有人知道是什么问题吗?我虽然 ref 关键字可以解决问题,但它没有。我是不是很好地引用了它,或者这部分代码之外可能有问题

【问题讨论】:

  • 这行不通。 C# 不支持 ref 字段。有很多方法可以实现这一点,但你为什么需要这个?为什么要分配newJobDesignation 一个新实例而不修改现有实例?

标签: c# winforms class reference ref


【解决方案1】:

我不完全确定您要做什么,但以下函数会创建一个新的本地 KeyWordsManager,该函数退出时会超出范围(最终被垃圾收集)。

private void NewJob_Load(object sender, EventArgs e)
{
   KeyWordsManager manager = new KeyWordsManager(ref newJobDesignation);
}

【讨论】:

    猜你喜欢
    • 2021-12-02
    • 2021-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-24
    相关资源
    最近更新 更多