【发布时间】:2014-01-29 20:33:23
【问题描述】:
我已经浏览了这里的几篇帖子,但我发现没有一个解决方案对我有用。当您单击菜单项时,我试图将对象从表单 a 传递到表单 b,它给了我错误:
错误 1 可访问性不一致:参数类型“WindowsFormsApplication1.character”的可访问性低于方法“WindowsFormsApplication1.CharBuilder.CharBuilder(WindowsFormsApplication1.character)”
这是发送表格:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class GVL4 : Form
{
public GVL4()
{
InitializeComponent();
}
public void mNewGame_Click(object sender, EventArgs e)
{
character MyCharacter = new character();
MyCharacter.SetIsNew();
CharBuilder NewCharacter = new CharBuilder(MyCharacter);
NewCharacter.Show();
}
}
}
以及接收表格:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class CharBuilder : Form
{
character Char = new character();
public CharBuilder()
{
InitializeComponent();
}
//Overloaded Constructor
public CharBuilder(character cChar)
{
Char = cChar;
}
private void txtSect_TextChanged(object sender, EventArgs e)
{
}
private void btnSaveID_Click(object sender, EventArgs e)
{
if (Char.IsNew())
{
Char.SaveCharIdentity(txtCharName.Text, txtClan.Text, txtSect.Text, txtNature.Text, txtDemeanor.Text, txtTitle.Text, txtCoterie.Text, txtSire.Text, txtPlayerName.Text, txtCharacterID.Text, txtStatus.Text, Convert.ToInt32(txtUnspentXP.Text), Convert.ToInt32(txtEarnedXP.Text), Convert.ToInt32(txtGeneration.Text), Convert.ToInt32(txtBloodPool.Text), cbxNPC.Checked);
}
txtTestBox.Text = Char.ToString();
}
public void CharBuilder_Load(object sender, EventArgs e)
{
}
}
}
错误在于重载(Public CharBuilder(character cChar))
【问题讨论】:
-
发布定义您的字符类的代码,这可能是问题的根源。