2012-07-13 1 views
0

IActivity에서 모두 상속 된 *Activity 클래스 집합을 만들고 있습니다.클래스가 UserControl과 파트너가되는 모범 사례

public interface IActivity 
    { 
    void StartActivity(); 
    } 

    public class MyFirstActivity : IActivity 
    { 
    public int SomeVariable {get; set;} 

    public MyFirstActivity(int someVariable) 
    { 
     SomeVariable = someVariable 
    } 

    public void StartActivity() 
    { 
     //some code to do stuff with SomeVariable 
    } 
    } 

이것은 내가 IActivity의의 목록/배열을 생성하고 StartActivity() 방법을 실행할 수있다.

이제는 IActivity에서 상속받은 각 클래스에 대해 UserControl (그래픽으로 변수를 편집하고 액티비티를 그래픽으로 주문하기 위해)을하고 싶습니다.

가장 좋은 방법은 무엇입니까?

내 생각 중입니다

  1. 는 각 활동 UserControl이 확인 ... 각 활동에 대해 별도의 UserControl을 만든 다음 해당 UserControl의 생성자에서 활동의 인스턴스를 생성 ... 또는 어떤 IActivity에서 상속됩니다. 이 문제는 내가 프로그램의 다른 부분에서 UserControl 요소를 사용하지 않고 각 수행하고 UserControl을 사용하여 필요하지 않은 경우 더 많은 리소스를 사용해야한다는 것입니다.

의견이 있으십니까?

편집 : 각 활동 편집 할 수있는 몇 가지 특성을 가지고 있으며, 각각이 StartActivity가 호출 될 때 수행되는 별개의 작업을 수행 있다는 생각입니다. 활동은 활동 인스턴스를 작성하고 목록에 추가하여 코드에서 수행 할 수 있습니다. 각 StartActivity을 순서대로 수행하려면 목록을 반복하십시오. 또는 Form에서 각 활동의 UserControl을 만들고 사용자가 원하는 순서대로 양식을 드래그하여 뒤에서 목록을 채운 다음 시작 버튼을 클릭하면 각 전화 번호가 StartActivity 번으로 차례로 반복됩니다. .

이 윈폼을 사용하는 것입니다.

+0

UserControl의 목적이 다소 불투명합니다. 좀 더 자세히 설명 할 수 있습니까? WinForms에 있습니까? – atiyar

+0

안녕하세요 Nero, 질문이 업데이트되었습니다. –

답변

0
당신은 당신의 첫번째 생각으로 가야한다. 프로퍼티 (읽기 전용) 특정 * UserContorl의로 * 활동을 가지고, 그리고 UC 생성자를 통해 인스턴스화

. 그런 다음 UC를 통해 액티비티의 속성을 시각적으로 설정할 수 있습니다.