質問
汎用フォームを作成できるはずです。
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