Zum Inhalt springen

[C#] Casten eines referenzierten Parameters


Empfohlene Beiträge

Geschrieben

Hallo Leute,

wie im Titel schon steht ist die Anwendung in C# geschrieben.

Zum Code hab ich ein Beispiel für euch:

public virtual void Process(ref IQueryable<T> result)

{

....

doIt(ref result);

....

}

public void doIt(ref IQueryable<EntityObject> result)

{

....

}

Nun meine Frage: Wie Ihr seht ist der Parameter von "doIt" ein IQueryable<EntityObject>. Wie Caste ich jetzt diese Liste??? Geht es überhaupt mit dem "ref"-Keyword? Ich komm da einfach nicht weiter, vll steht ich auch einfach nur auf'm Schlauch.

MfG

CTom

Geschrieben

hmm ok.

Also einen generischen Typ kannst du nicht so ohne weiteres als referenz weitergeben.

public virtual void Process(ref IQueryable<T> result)

{

IQueryable<EntityObject> param = result as IQueryable<EntityObject>;

if(param!=null)

[INDENT]doIt(ref param);[/INDENT]


....

}

Das wäre jedenfalls der einzige Weg, der mir auf Anhieb einfällt.

Evtl. result dann noch mit param überschreiben, aber keine Ahnung, wie weit bei sowas dann die Auswirkungen sind. :floet:

Geschrieben

warum machst du denn diese Methode generisch??


public virtual void Process(ref IQueryable<T> result)

{

....

   doIt(ref result);

....

}

Und diese nicht?

public void doIt(ref IQueryable<EntityObject> result)

{

....

}

Dann macht das obige doch nur Sinn wenn du T einschränkst:confused:

Geschrieben

Danke für die Antworten! ^^

@El Ninjo

Tja da kann ich nix für ^^ Musst du meinen Boss fragen ;-D

Aber darauf wär ich auch schon gekommen EntityObject an stelle von T zu verwenden :-)

Danke nochma! :uli

Geschrieben

Tja da kann ich nix für ^^ Musst du meinen Boss fragen ;-D

Wieso schreibt dir das dein Chef den vor?

Versuche doch mal, auch deine eigenen Ideen einzubringen,

das ist doch der Sinn der Ausbildung oder nicht?

Wenn dein Chef dir nur sagt, mach das so und so, bringt das ja nix.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...