Keith
그는 물었다 12년 전
32

일반 양식 C # 에서 사용할 수 있습니까?

일반 양식 만들 수 있어야 합니다.

public partial class MyGenericForm<T> :
    Form where T : class
{
    /* form code */
    public List<T> TypedList { get; set; }
}

C # 및 유효한지 정리합니다. 그러나 디자이너 won& # 39 일 · 양식이 있다면, t throw 런타임 예외 이미지를 찾을 수 없다는 리소스에는.

내 생각에 이것은 윈도우 폼 디자이너 때문에 간단한 type& # 39 의 이름 아래 리소스에는 저장됩니까 가정합니다.

답변 3 개

예, 가능합니다! # 39 의 I made here& 귈이예요 전 블로그 포스트를 통해 트릭.

설계 일반 양식

편집: # 39, re 이미 그렇게 you& looks like this way. 그래서 저는 해키 고려해보십시오 wouldn& 너무 좋아 # 39, 이 방법은 없다.

mynkow
그는 10년 전 댓글을 달았습니다
1

3 형태 있으면 어때? 난 로렌아줌마가 Form3: Form2. 여기에는 일반 유형을 매개변수입니다 + 컨트롤을 조정하십시오 Form2. 모든 생각은?

할 수 있어 3 단계에 걸쳐.

1) (Form1.cs) 에서 교체 파일

public partial class Form1<TEntity, TContext> : Formbase // where....

2) (Form1.Designer.cs) 에서 교체

 partial class Form1<TEntity, TContext>

3) 새 파일을 만듭니다. Form1.Generic.cs (열기 위한 설계)

partial class Form1
{
}    

Ali Osman Yavuz
Keith
그는 일 년 전 댓글을 달았습니다
1

1) 의 that& # 39 만 2 단계 및 b) 에 의해 'VS' *.Designer.cs 언제든지 덮어씁니다 및 자동 생성됩니다 아무것도 얻을 수 있다.

Ali Osman Yavuz
그는 일 년 전 댓글을 달았습니다
0

하지만, 이 양식은 문제가 전혀 발생하지 않습니다 실행하면서도 문제가 있는 동안 설계 단계. 이를 위해 시스템.compon랑모델.콤프로넨트레소르세만거 리소스에는 = new 시스템.compon랑모델.콤프로넨트레소르세만거 (메리 페로프 (Form1&lt 트렌티티 TContext&gt,,), 행 편집하려는 후 다시 추가해야 합니다.

Keith
그는 일 년 전 댓글을 달았습니다
0

39 의 that& 그러하너라 내 포인트 - VS 지정값이 명령취소 업무를 언제, 수작업으로 할 때마다 그냥 버그를 해결하려면 묻는 의존하고 있다. 어느 시점에서 할 때 (또는 누군가가 작업 코드) 가 될 수 있기 때문에, ll get a # 39, 런타임 버그 및 you& # 39 can& 리소스를 찾을 수 없다.

Ali Osman Yavuz
그는 일 년 전 댓글을 달았습니다
0

난 또 부분 클래스 파일을 새로운 업무를 Form1 {}, 디자이너 열렸다.

Keith
그는 일 년 전 댓글을 달았습니다
0

예, 트릭, s # 39 에서 작동하는 that& 수락됨 대답.

I have a 해킹 해결하십시오 isn& # 39 이 작동하는 것이 아니라, t:

이 프로젝트는 새로운 클래스를 상속하는 추가하기에서는 양식 색상에는 단순 이름.

internal class MyGenericForm:
    MyGenericForm<object> { }

즉, 비록 죄를 지은 디자이너 여전히 간단한 유형 (이리에, &gt &lt 없이 ',') 는 여전히 것으로 드러났다.