둘 다 동일한 메소드이지만 다른 이름을 가진 두 개의 API가 있습니다.Abstract 클래스를 매개 변수로 사용하고 해당 클래스의 새 항목 만들기
두 클래스 모두에서 상속 된 추상 클래스를 만들었습니다.
이제 이러한 API를 사용하는 다른 클래스를 만들려고하고 있으며 어떤 API를 사용하는지 신경 쓰지 않으려합니다.
추상 클래스를 매개 변수로 전달하고이를 API 중 하나로 사용하려면 어떻게해야합니까?
더 좋은 방법이 있습니까?
예제 코드 :
public abstract class AbstractClass
{
public abstract string Func1();
}
public class Class1: AbstractClass
{
public override string Func1()
{
return "Class1";
}
}
public abstract class Class2: AbstractClass
{
public override string Func1()
{
return "Class2";
}
}
public class Class3
{
Type type;
public Class3(Type type)
{
this.type = type;
}
public string UseFunc1()
{
//I know this wont work but what shuld I do
type a = new type();
return a.Func1();
}
}
당신은 당신이 지금까지 가지고있는 코드를 제공 할 수 있을까요? –
예제 코드 추가 – Sophex
그럼'Activator.CreateInstance'를 사용할 수는 있지만 factory를 사용하면보다 안전합니다. –