다음과 같이 내가 정의 된 개체가 :일반 객체에 대한 참조를 가져 <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
{
}
을 어딘가에 코드에서 멀리 멀리 내가 Objects1 또는 Objects2 하나의 컬렉션 개체를 수신하는 방법이있다. 여기서 Method1을 호출 할 수있는 방법이 있습니까?
private void DoSomething(object O)
{
// O can be either Objects1 or Objects2
O.Method1();
}
처럼 사용할. – danny117
@ danny117 : Java의 '구현'은 OP가 요구하는 것과 관련이 없다고 생각합니다. 'implements'으로 자바에서이 문제를 어떻게 해결할 수 있는지 보여줄 수 있습니까? –
java에서는 클래스가 인터페이스를 구현하는지 확인할 수 있습니다. 그럴 경우 구현 된 메서드를 안전하게 호출 할 수 있습니다. 멀리 인터페이스가 구현되어 있는지 확인하면 메서드를 안전하게 호출 할 수 있습니다. – danny117