我有以下表单,它给出了错误,我不能隐式地将类型void转换为HomeInventory2.Domain.CreateInventory ...
我的表格
namespace HomeInventory2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void label1_Click(object sender, EventArgs e)
{
}
private void submitButton_Click(object sender, EventArgs e)
{
CreateInventory create = new CreateInventory();
create.ItemAmount = textBoxAmount.Text;
create.ItemCategory = textBoxCategories.Text;
create.ItemProperties = textBoxValue.Text;
create.ItemValue = textBoxValue.Text;
InventoryMngr invtryMngr = new InventoryMngr();
CreateInventory creating = invtryMngr.Create(create);
}
}
}
以及它正在引用的createinventory文件
namespace HomeInventory2.Domain
{
[Serializable]
public class CreateInventory
{
private string itemCategory;
public String ItemCategory
{
set { itemCategory = value; }
get { return itemCategory; }
}
private string itemProperties;
public String ItemProperties
{
set { itemProperties = value; }
get { return itemProperties; }
}
private string itemAmount;
public String ItemAmount
{
set { itemAmount = value; }
get { return itemAmount; }
}
private string itemValue;
public String ItemValue
{
set { itemValue = value; }
get { return itemValue; }
}
}
}
答案 0 :(得分:2)
你为什么这样做:
CreateInventory creating = invtryMngr.Create(create);
为什么不呢:
invtryMngr.Create(create);
因为您正在创建另一个CreateInventory
,根据您发布的代码判断,不需要在那里。这就是给你错误的原因,因为invtryMngr.Create()
很可能会返回void。
答案 1 :(得分:1)
看起来你在invtryMngr.Create(create);
中调用了一个void方法,所以编译器告诉你,由于该方法没有返回任何内容,你不能将它分配给creating
变量。
答案 2 :(得分:0)
给出错误的行是:
CreateInventory creating = invtryMngr.Create(create);
事实上,我认为invtryMngr.Create(create)
没有返回任何内容。
答案 3 :(得分:0)
正如其他人已经指出的那样,行invtryMngr.Create(create);
可能会导致问题。
Create
方法可能有一个void返回类型
public void Create(CreateInventory create)
{
...
}
要么在没有分配的情况下这样称呼它
invtryMngr.Create(create);
或将方法更改为
public CreateInventory Create(CreateInventory create)
{
...
return createdInventory;
}