c# 동적으로 생성한 폼 관련 문의 (상속)

안녕하세요
동적으로 폼 생성 관련해서 문의드립니다…

Form을 Edit로 만들게 되면
폼 클래스 뒤에 : (부모폼) 을 붙여서
Base폼으로 부터 상속받는다 라는것을
런타임에게? (런타임에게 알린다는 표현이 맞는지 모르겠네요…)
알려주면 되는데

동적으로 생성한 폼에 대해선 base 폼, 즉 부모폼을 명시해줄려면
어떻게 해야할까요… ex) _dynamicFrm = new Form();

초보적인 질문을 드려서 부끄럽지만 부탁드리겠습니다,

질문내용이 좀 부족한 것 같아서
아래에 추가적인 예시를 들겠습니다

     _dynamicFrm = new Form(); // 동적폼 생성 (자식)
     BaseForm baseForm = new BaseForm(); // 부모폼
     (부모폼은 이미 만들어져있음 정적으로)

     _dynamicFrm.ParentForm.Parent = baseForm; // 이 코드가 동작할진 의문
     위의 코드가 아래의 주석처럼 실행되기를 원함
     // (public partial class _dynamicFrm : BaseForm)


      //InitializeComponent(_dynamicCustFrm); // 동적폼 컨트롤 초기화 메소드

      DialogResult dr = _dynamicFrm.**ShowDialogBaseEx**(this); // 여기서 에러

image

ShowDialogBaseEx() 에러나는 해당 메소드는 BaseForm(부모폼)에서 만든 메소드임
_dynamicFrm 의 자식폼이 BaseForm 을 상속받아서 사용하고 싶은데
동적으로 만들다 보니까 정의가 어렵네요…

방법이 있긴 있을 것 같은데 초보자로선 잘 모르겠네요,

괜한 삽질일까요 그냥 동적으로 만드는거 포기하고 정적으로 만들어서 해야할지
고민되는순간이네요…

2개의 좋아요

인스턴스를 생성할 때 굳이 상위(부모) 클래스를 표현할 필요는 없습니다. 상속 구조는 클래스 선언에 표현합니다.

(글에 표현한 런타임컴파일러 또는 컴파일 시점이라고 표현하면 맞습니다)

2개의 좋아요

혹시 질문내용을 보충했는데 확인가능하시면 부탁드립니다 ㅠㅠ

2개의 좋아요

상속 구조를 인스턴스 생성후에 지정할 수는 없습니다.

목적이 무엇인지 모르겠는데 무엇을 위해 그런 것이 필요한지 부연 설명해주시면 좀 더 도움되는 답변이 가능할 것 같네요.

2개의 좋아요

목적은 edit로 생성해도 되지만 공부차원으로 직접 만들어서 해보자는 취지였습니다… 답변 정말 감사드립니다!!

2개의 좋아요