当我运行我的C#应用程序时,它显示以下错误
不一致的可访问性:参数类型'timesheet.libs.DbObject'比方法'timesheet.model.usertimesheet.usertimesheet(timesheet.libs.DbObject)'C:\ Users \ user \ Desktop \ Interface +更不易访问code \ Interface + code \ timesheet \ model \ usertimesheet.cs
不一致的可访问性:参数类型'timesheet.libs.DbObject'不如方法'timesheet.MainFormMDI.setdbobject(timesheet.libs.DbObject)'C:\ Users \ user \ Desktop \ Interface + code \接口+代码\时间表\ MainFormMDI.cs
访问性不一致:参数类型'timesheet.libs.DbObject'比方法'timesheet.model.user.user(timesheet.libs.DbObject)'C:\ Users \ user \ Desktop \ Interface +更不易访问代码\接口+代码\时间表\模型\ user.cs
不一致的可访问性:参数类型'timesheet.libs.DbObject'比方法'timesheet.model.project.project(timesheet.libs.DbObject)'C:\ Users \ user \ Desktop \ Interface +更不易访问代码\接口+代码\时间表\模型\ project.cs
我有一段login.cs为
MainFormMDI mainform = new MainFormMDI();
mainform.setdbobject(dbobject);
mainform.setuserobject(userobj);
mainform.Show();
MainFormMDI.cs
:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using timesheet.model;
using timesheet.libs;
namespace timesheet
{
public partial class MainFormMDI : Form
{
private DbObject dbobject;
private user userobj;
public MainFormMDI( )
{
InitializeComponent();
}
public void setdbobject(DbObject dbobject)
{
this.dbobject = dbobject;
}
public void setuserobject(user userobj)
{
this.userobj = userobj;
}
private void MainFormMDI_Load(object sender, EventArgs e)
{
}
private void adminPanelToolStripMenuItem_Click(object sender, EventArgs e)
{
}
}
}
我尝试了其他解决方案,例如将dbobject和用户类更改为public,但没有任何更改。我想将userobject和dbobject传递给MainFormMDI类,以便能够对这些对象执行进一步的操作。我很乐意听到您的修复。
答案 0 :(得分:5)
您需要将timesheet.libs.DbObject设为public。然后,您需要重新编译库(假设libs指示它在库中),然后重建使用它的项目。
问题是DbObject是私有的还是内部的,它作为参数传递给公共方法。如果方法是公共的,那么所有参数类型也必须是公式。