Announcement

Collapse
No announcement yet.

Generische Typ-parameter mit Vererbung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Generische Typ-parameter mit Vererbung

    Moin.
    Ich bin nicht sicher, od das was ich möchte auch wirklich Existert..

    Also eigentlich möchte ich eine Methode
    [highlight=c#]
    protected void foo(Func<GenauDerTypDieserKlasse, TResult> func)
    {...}
    [/highlight]
    in einer Basisklasse anbieten.

    Aktuell habe ich
    [highlight=c#]
    public class Base<TChild>
    {
    protected void foo(Func<TChild, TResult> func)
    {..}
    }

    public class Child : Base<Child>
    {...}
    [/highlight]

    --> Das Base<Child> wird aktuell aber leider nicht erzwungen.
    Am schönstern würde ich es natürlich finden, wenn bei
    [highlight=c#]
    public class Base<TChild> where TChild: typeOfInhertor
    {
    protected void foo(Func<TChild, TResult> func)
    {..}
    }

    public class Child : Base
    {...}
    [/highlight]
    sozusagen das Base<Child> automatisch abgeleitet wird.

    Irgendwelche Ideen ??

    Grüße,
    Nils
    Zuletzt editiert von nils_a; 31.07.2009, 17:59. Reason: abstract static entfernt da falsch, abstract entfernt da irrelevant

  • #2
    Hallo und willkommen,

    bevor ich auf die Frage antworte will ich dass du das Kapitel über abstrakten Klassen im OpenBook liest.

    Dann wirst du merken dass das was du geschrieben hast und für dich als "AbstractBase" deklariert ist nichts mit abstrakt zu tun hat.

    Ändere dann deine Frage und wir sehen weiter.


    mfG Gü
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

    Comment


    • #3
      Klar kann ich das Kapitel lesen, aber vorab:

      Das "abstract" war ein überbleibsel aus meiner Problemdomäne.
      ...in einer abstrakten Klasse anbieten...
      Stimmt - hat nichts mit dem Problem zu tun. - Die Frage müsste also lauten
      ...in einer Basisklasse anbieten...
      Grüße,
      Nils
      (der jetzt das Kapitel Druckt und sich aud den Heimweg macht...)

      Comment

      Working...
      X