Anda harus dapat membuat suatu bentuk generik:
public partial class MyGenericForm<T> :
Form where T : class
{
/* form code */
public List<T> TypedList { get; set; }
}
Ini berlaku C#, dan menyusun. Namun desainer won't bekerja dan bentuk akan melempar pengecualian runtime jika anda memiliki gambar yang menyatakan bahwa hal itu tidak dapat menemukan sumber daya.
Saya pikir ini adalah karena windows forms designer mengasumsikan bahwa sumber daya yang akan disimpan di bawah tipe sederhana's nama.
Ya, anda bisa! Berikut ini's blog post yang saya buat beberapa waktu yang lalu dengan trik ini:
Edit: Sepertinya anda're sudah melakukannya dengan cara ini. Metode ini bekerja baik-baik saja jadi saya tidak't menganggap itu terlalu hacky.
Aku punya hack untuk solusi ini, yang bekerja tetapi isn't ideal:
Tambahkan sebuah class baru untuk proyek yang mewarisi bentuk dengan nama sederhana.
internal class MyGenericForm:
MyGenericForm<object> { }
Ini berarti bahwa meskipun desainer masih salah yang diharapkan tipe sederhana (saya.e tanpa <>
) masih ditemukan.
Anda dapat melakukannya dalam tiga langkah.
public partial class Form1<TEntity, TContext> : Formbase // where....
partial class Form1<TEntity, TContext>
partial class Form1
{
}