【问题标题】:Overloaded Constructors c#重载的构造函数c#
【发布时间】:2015-12-25 20:08:33
【问题描述】:

我有 1 个命名空间(DXApplication5)和 2 个类。我正在尝试用一个类刷新gridview。我在下面的代码中做错了什么?提前谢谢,

错误:最好的重载方法匹配 'DXApplication5.grid_refresh.grid_refresh(DXApplication5.Form1)' 有 一些无效的参数

参数 1:无法从 'DevExpress.XtraEditors.XtraForm' 转换为 'DXApplication5.Form1'

public class grid_refresh
{
    public DXApplication5.Form1 frm1;

    public grid_refresh()
    {
        //Default Constructor   
    }

    public grid_refresh(DXApplication5.Form1 frm1)
    {
       frm1.gcStudent.Refresh();
    }        
}

//从另一个类调用

 DXApplication5.grid_refresh gr = new grid_refresh(frm1);

【问题讨论】:

  • 传递给 grid_refresh 的 frm1 是如何被实例化的?您只向我们展示了对象 frm1 的声明,但实际上并未向我们展示实例化。
  • 尝试将第一个表单的实体传递给其他实体,然后使用实体填充或刷新网格表单而不是直接传递

标签: c# constructor constructor-overloading


【解决方案1】:

问题是您传递的frm1DevExpress.XtraEditors.XtraForm 的一个实例,而不是DXApplication5.Form1

解决方案 1:编写一个接受 DevExpress.XtraEditors.XtraForm 作为参数的构造函数。

 public grid_refresh(DevExpress.XtraEditors.XtraForm frm1)
 {
       ...
 }  

解决方案 2:将 frm1 设为 DXApplication5.Form1 的实例。

【讨论】:

    猜你喜欢
    • 2011-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多