1
Gibt es eine Möglichkeit, dass das funktioniert?Aufrufmethode in generischem Objekt
class A
{
public virtual string Greet() { return "Hello"; }
}
class B : A
{
public override string Greet() { return "Hola"; }
}
class C : A
{
public override string Greet() { return "Привет"; }
}
class Greeting<T>
{
List<T> list;
public Greeting(List<T> list)
{
this.list = new List<T>();
this.list.AddRange(list);
}
public void Show()
{
foreach (T el in list)
el.Greet(); // 'T' does not contain a definition for 'Greet'
}
}
class Program
{
static void Main(string[] args)
{
List<A> list = new List<A>() { new A(), new B(), new C() };
Greeting<A> g = new Greeting<A>(list);
g.Show();
}
}
Ich weiß, dass in diesem Fall soll ich List<Shop> list
(in Gruß-Klasse) schreiben und nicht generische Klasse verwenden ... aber ich brauche diese Implementierung