I Objekte wie folgt definiert:Holen Bezug auf ein generisches Objekt <T>
public class ModelList<T> : ModelBase, IModelList<T>, IModelList
where T : IModelListItem, new()
{
public void Method1()
{
// do work here!
}
}
public class Object1 : ModelListItem
{
}
public class Object2 : ModelListItem
{
}
public class Objects1: ModelList<Object1>, IModelList
{
}
public class Objects2: ModelList<Object2>, IModelList
{
}
Irgendwo im Code weit weit weg habe ich eine Methode, die eine Sammelobjekt entweder Objects1 oder Objects2 erhalten. Gibt es eine Möglichkeit, Method1 von hier aus aufzurufen?
private void DoSomething(object O)
{
// O can be either Objects1 or Objects2
O.Method1();
}
In Java können Sie Geräte C# überprüfen etwas ähnliches haben. – danny117
@ danny117: Ich glaube nicht, dass Javas "implements" etwas damit zu tun haben, was das OP verlangt; Können Sie ein Beispiel zeigen, wie Sie das Problem in Java mit 'implements' lösen würden? –
In Java können Sie überprüfen, ob eine Klasse eine Schnittstelle implementiert. Wenn dies der Fall ist, können Sie die implementierte Methode sicher aufrufen. Weit entfernt, wenn Sie überprüfen, ob die Schnittstelle implementiert ist, können Sie die Methode sicher aufrufen. – danny117