c# - kann nicht implizit konvertiert den Typ void
Habe ich die folgende form, die gibt mir die Fehlermeldung, dass ich kann nicht implizit konvertiert den Typ void zu HomeInventory2.Domain.CreateInventory...
meine form
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);
}
}
}
und die createinventory Datei, auf die es verweist
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; }
}
}
}
- Auf welcher Zeile bekommst du die Ausnahme? Es wohl wirklich nicht sein sollte geschieht auf
new CreateInventory();
, aber wir wissen nicht, wasinvtryMngr.Create(create);
ist. Können Sie zeigen die Signatur der Methode für, die? Wenn es zurückkehrte, einvoid
dann, dass ist Ihre Antwort. - Post den code für
InventoryMngr
. Weitere Informationen über die Ausnahme wäre schön, wie das, was die Zeile ist, brechen auf. Helfen Sie uns helfen. - Was ist der Rückgabetyp von InventoryMngr.Erstellen ?
- Dies ist die Linie, die Ihnen ein Fehler.. Google auf, wie man Erstellen Sie Konstruktoren in C# CreateInventory erstellen = invtryMngr.Create (); Sie können nicht "Void" zurückgeben
Du musst angemeldet sein, um einen Kommentar abzugeben.
Warum tun Sie:
CreateInventory creating = invtryMngr.Create(create);
Warum nicht einfach:
invtryMngr.Create(create);
Ursache was Sie tun, ist die Schaffung einer anderen
CreateInventory
dass die Beurteilung durch Ihren code gepostet, der nicht da sein müssen. Und dies ist, was gibt dir den Fehler, weilinvtryMngr.Create()
gibt void zurück, die meisten wahrscheinlich.Sieht es aus wie Sie den Aufruf einer void-Methode in
invtryMngr.Create(create);
damit der compiler sagt Ihnen, dass da die Methode nichts zurückgibt, können Sie nicht weisen, dass dercreating
variable.Die Linie, die Euch den Fehler:
Infact ich glaube, dass
invtryMngr.Create(create)
nicht etwas zurückzugeben.Als andere haben darauf hingewiesen, schon, die Linie
invtryMngr.Create(create);
ist wahrscheinlich das problem verursacht.Den
Create
Methode hat wahrscheinlich einen void-RückgabetypEntweder nennen Sie es, wie dies ohne Zuordnung
oder ändern Sie die Methode in