문제

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

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

유효한 C#이며 컴파일됩니다.그러나 디자이너는 작동하지 않으며 리소스를 찾을 수 없다는 이미지가 있는 경우 양식에서 런타임 예외가 발생합니다.

이는 Windows 양식 디자이너가 리소스가 단순 유형의 이름으로 저장될 것이라고 가정하기 때문이라고 생각합니다.

도움이 되었습니까?

해결책

그래 넌 할수있어!다음은 제가 얼마 전에 이 트릭을 사용하여 작성한 블로그 게시물입니다.

일반 양식 디자인

편집하다:이미 이런 식으로 하고 있는 것 같습니다.이 방법은 잘 작동하므로 너무 해키하다고 생각하지 않습니다.

다른 팁

이 문제를 해결하는 방법이 있는데 작동하지만 이상적이지는 않습니다.

간단한 이름으로 양식을 상속하는 프로젝트에 새 클래스를 추가합니다.

internal class MyGenericForm:
    MyGenericForm<object> { }

이는 디자이너가 예상한 단순 유형에 대해 여전히 틀렸음에도 불구하고(즉, <>)이 여전히 발견되었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top