문제
일반 양식을 만들 수 있어야 합니다.
public partial class MyGenericForm<T> :
Form where T : class
{
/* form code */
public List<T> TypedList { get; set; }
}
유효한 C#이며 컴파일됩니다.그러나 디자이너는 작동하지 않으며 리소스를 찾을 수 없다는 이미지가 있는 경우 양식에서 런타임 예외가 발생합니다.
이는 Windows 양식 디자이너가 리소스가 단순 유형의 이름으로 저장될 것이라고 가정하기 때문이라고 생각합니다.
해결책
그래 넌 할수있어!다음은 제가 얼마 전에 이 트릭을 사용하여 작성한 블로그 게시물입니다.
편집하다:이미 이런 식으로 하고 있는 것 같습니다.이 방법은 잘 작동하므로 너무 해키하다고 생각하지 않습니다.
다른 팁
이 문제를 해결하는 방법이 있는데 작동하지만 이상적이지는 않습니다.
간단한 이름으로 양식을 상속하는 프로젝트에 새 클래스를 추가합니다.
internal class MyGenericForm:
MyGenericForm<object> { }
이는 디자이너가 예상한 단순 유형에 대해 여전히 틀렸음에도 불구하고(즉, <>
)이 여전히 발견되었습니다.
제휴하지 않습니다 StackOverflow