CTom Geschrieben 2. November 2009 Geschrieben 2. November 2009 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 Zitieren
TDM Geschrieben 2. November 2009 Geschrieben 2. November 2009 (bearbeitet) Es geht sicher, aber warum ref? Was hat T für Typbegrenzungen? Bearbeitet 2. November 2009 von TDM Zitieren
CTom Geschrieben 3. November 2009 Autor Geschrieben 3. November 2009 Hi, T hat keine Typenbegrenzungen (jedoch ist sicher das nur EntityObject z.B. dbTabelle drin ist) "ref" ist mir vorgegeben von der Firma. Zitieren
TDM Geschrieben 3. November 2009 Geschrieben 3. November 2009 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: Zitieren
El Ninjo Geschrieben 4. November 2009 Geschrieben 4. November 2009 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: Zitieren
CTom Geschrieben 4. November 2009 Autor Geschrieben 4. November 2009 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 Zitieren
El Ninjo Geschrieben 5. November 2009 Geschrieben 5. November 2009 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. Zitieren
Empfohlene Beiträge
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.