Windows Forms Generic Inheritance
Ich habe diese Klassen:
class Foo<T1, T2> : Form
where T1, T2 : EventArgs
class MiddleGoo : Foo<X,Y>
class Goo : MiddleGoo
X, Y sind nur einfache Klassen, die von EventArgs abgeleitet sind.
Ich sehe Goo in Designer, aber ich möchte eine Klasse Boo zwischen Foo und Goo wie folgt erstellen:
class Boo<T1, Y> : Foo<T1, Y>
where T1 : EventArgs
class MiddleGoo : Boo<X,Y>
class Goo : MiddleGoo
Workaround mit Mittelklasse funktioniert nicht, irgendwelche Ideen?
EDIT: Ich meinte, Y und X sind Klassen wie YEventArgs und XEventArgs, und mein Problem besteht darin, in der Designerklasse Boo zu sehen, wie ich Y als T2 definiert habe, es aber trotzdem über T1 generisch halten möchte.
EDIT2: Mir ist gerade aufgefallen, dass ich etwas über die Klasse Y falsch geschrieben habe ...
public class Foo<T1, T2> : Form
where T1 : EventArgs
where T2 : EventArgs
{
}
public class Boo<T1> : Foo<T1, MyEventArgs2>
where T1 : EventArgs
{
}
public class MiddleGoo : Boo<MyEventArgs1>
{
}
class Goo : MiddleGoo
{
}
public class MyEventArgs2 : EventArgs
{
}
public class MyEventArgs1 : EventArgs
{
}
Und um klar zu sein, ich kann Boo in Designer einfach nicht sehen ... (Ich kann MiddleGoo auch nicht sehen, aber ich muss nicht)