제목이 다소 비 효과적 일 수 있지만 가능한 한 명확하게 설명하려고합니다. 나는 다른 누군가가 만든 수업에서 상속받을 수업을 만들었습니다. 나는 최종 사용자가 여전히 그에게 방법 및 필드에 대한 액세스를 허용하면서 사용하는 어떤 모양을 제어 할 수 있도록 어떻게인터페이스를 필드 유형으로 사용하지만 기본 클래스에서 파생 된 구조체를 선택하십시오.
IShape Bounds = new Rectangle(/*arguments go here*/);
: 내 클래스는 지금처럼 내가 만든 IShape 인터페이스를 사용하여 형상 구조체 변수를 포함 선택한 모양 (24/7 언 박싱없이)? 기본적으로 사용자가 원하는 모양을 선택하길 원하지만 여전히 충돌 모양과 같은 항목을 수행 할 수있는 모양을 IShape 형식으로 유지해야합니다. 예 :
Bounds = new Triangle(/*arguments*/);
Bounds.Point3 = new Point(20f, 20f); //this property would be from the Triangle : IShape struct only and is not inherited from IShape
최종 사용자가 쉽게 사용할 수있는 방법이 있습니까?
제네릭을 사용해 볼 수 있습니다. – MarcinJuraszek