tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
2042
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    LL0rd LL0rd ist offline Mitglied Gold
    Registriert seit
    Dec 2006
    Beiträge
    142
    Hallo Leute,

    ich sitze hier gerade vor meinem Programm und .Net hat mir netterweise eine Fehlermeldung rausgeworfen, bei der ich zwar die Worte kenne, aber absolut keine Ahnung habe, was los ist.

    Code :
    1
    2
    
    Fehler  1   Da "System.Action<int>" "void" zurückgibt, darf auf ein Rückgabeschlüsselwort kein Objektausdruck folgen.   CImageObjectSet.cs  142 25  Core
    Fehler  2   "anonyme Methode" kann nicht in den Delegattyp "System.Action<int>" konvertiert werden, da einige der Rückgabetypen im Block nicht implizit in den Rückgabetyp des Delegaten konvertiert werden können. CImageObjectSet.cs  142 25  Core

    Der Code an der Stelle ist folgender:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
                Parallel.For(0, this.Count, delegate(int i)
                {
                    tmpImObj = this[i];
                    if (testImObj.type == tmpImObj.type)
                    {
                        if (testImObj.IsEqual(tmpImObj))
                        {
                            return i;// existiert!
                        }
                    }
                });

    An dem return i; regt das Ding sich auf. Habt ihr eine Ahnung, warum?
     

  2. #2
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo,

    das steht doch deutlich in der Fehlermeldung...
    Durch return i; nimmt der Compiler implizit int als RetunType für die anonyme Methode an was aber nicht mit der verlangten Delegate Sigantur übereinstimmt, dort wird nämlich void als Return Type verlangt. Anstatt return i würde ich die Indizes der "vorhandenen" Elemente in einer IList<int> ablegen.

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  3. #3
    LL0rd LL0rd ist offline Mitglied Gold
    Registriert seit
    Dec 2006
    Beiträge
    142
    Sorry, aber ich verstehe das leider noch nicht so ganz. Bezieht sich das Return in diesem Fall auf das delegate?

    Die Sache ist die, dass ich eigentlich beim ersten Fund die darüberliegende Methode verlassen will, ich brauche nicht alle passenden Objekte, sondern nur eins. Kann ich irgendwie die parallele Schleife abbrechen?
     

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 16.01.11, 09:36
  2. Antworten: 3
    Letzter Beitrag: 21.08.10, 14:30
  3. Antworten: 0
    Letzter Beitrag: 26.08.09, 23:03
  4. Antworten: 4
    Letzter Beitrag: 20.09.08, 17:04
  5. Antworten: 8
    Letzter Beitrag: 14.08.03, 01:47