Crew .NET |
|
Heel logische fouten waar je zelf had kunnen uitkomen volgens mij als je de foutmelding goed leest:
Fout1:
Niet in alle situaties wordt er een waarde teruggestuurd wat wel de bedoeling is want het resultaat van je functie is een boolean. Bij jou zal er alleen een return komen als die commInsert NULL is, anders gebeurt er niets en dat mag niet, voorbeeld:
public bool DoeIets()
{
if(iets)
{
//hier MOET een return-value komen
}
else
{
//hier OOK
}
}
public bool DoeIets() { if(iets) { //hier MOET een return-value komen } else { //hier OOK } }
Fout2:
Deze fout komt omdat je twee keer een zelfde functienaam hebt waarin je dezelfde paramters verwacht. Je zal de naam van een van je functies moeten wijzigen. Let wel, twee keer eenzelfde functienaam gebruike kan wel, maar dan moet je met andere parameters werken, voorbeeld:
public int GetCalculation(int a, int b)
{
return a + b;
}
public int GetCalculation(int a, int b, int c)
{
return a + b + c;
}
public int GetCalculation(int a, int b) { return a + b; } public int GetCalculation(int a, int b, int c) { return a + b + c; }
Hier heb je twee keer dezelfde naam, alleen zijn de paramters anders. Dit noemt men Overloading.
Edit:
Na een tweede keer je code te hebben bekeken versta ik iets niet. Waarom in godsnaam is die onderste functie er? Stel dat het nog zou werken, je roept een boolean-functie aan die op zijn beurt nog eens een boolean-functie aanroept. Als er in de onderste (waar enkel die ene regel in staat) nog andere dingen zouden gebeuren (en dan een andere naam zou hebben) kan ik het nog verstaan, maar nu doe je er verder niets mee. Die onderste mag gewoon weg en zorg dat in de "grote" functie alle mogelijke paden een waarde terugsturen! |