Apakah mungkin melakukan hal berikut dalam C # (atau dalam bahasa lain)?
Saya mengambil data dari database. Pada saat dijalankan saya dapat menghitung jumlah kolom dan tipe data dari kolom yang diambil.
Selanjutnya saya ingin "menghasilkan" kelas dengan tipe data ini sebagai bidang. Saya juga ingin menyimpan semua catatan yang saya ambil dalam koleksi.
Masalahnya adalah saya ingin melakukan langkah 1 dan 2 saat runtime
Apakah ini mungkin? Saya menggunakan C # saat ini tetapi saya dapat beralih ke sesuatu yang lain jika perlu.
c#
dynamic-typing
Chani
sumber
sumber
dynamic
di Massive: blog.wekeroad.com/helpy-stuff/and-i-shall-call-it-massiveJawaban:
Gunakan CodeDom. Inilah sesuatu untuk memulai
Itu menciptakan sebuah perakitan 'Test.Dynamic.dll' dengan kelas ini di dalamnya
Anda juga dapat menggunakan fitur dinamis C #
Kelas DynamicEntity, tidak perlu membuat apa pun saat runtime
Dan gunakan seperti ini
sumber
Ya, Anda dapat menggunakan refleksi memancarkan untuk melakukan ini. Manning memiliki apa yang tampaknya menjadi buku yang sangat bagus tentang ini: Metaprogramming dalam .NET .
BTW: mengapa tidak hanya menggunakan daftar yang berisi kamus atau serupa untuk menyimpan setiap catatan dengan nama bidang sebagai kunci?
sumber