如何通过ref将参数传递给成员变量?

问题描述

从很早以前的C ++背景开始,C#还是一个新手,所以我似乎在从C#的指针转换为ref方面遇到麻烦。

我有一个使用所示的构造函数创建的类(EColour)。

我将对cellTemplate的引用分配(或至少尝试)给变量m_template。

在调试时,在构造时,m_template绝对不是null。

但是,当我要处理OnMouseClick事件时,由于m_template已神奇地变为null,所以我得到了null异常错误。

有人可以告诉我我做错了什么以及如何解决吗?

public EColour(ref ICellTemplate cellTemplate)
{
    m_template = (ColourTemplate)cellTemplate;
}

protected override void OnMouseClick(DataGridViewCellMouseEventArgs e)
{
    ColorDialog dlg = new ColorDialog();
    dlg.AnyColor = m_template.AnyColour; // This throws an exception because m_template is null
    
    base.OnMouseClick(e);
}

ColourTemplate m_template;

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)