Saya mencoba menyiapkan pembaca yang akan mengambil objek JSON dari berbagai situs web (pikirkan informasi scraping) dan menerjemahkannya ke dalam objek C #. Saya saat ini menggunakan JSON.NET untuk proses deserialization. Masalah yang saya hadapi adalah bahwa ia tidak tahu bagaimana menangani properti tingkat antarmuka di kelas. Jadi sesuatu yang alami:
public IThingy Thing
Akan menghasilkan kesalahan:
Tidak dapat membuat instance berjenis IThingy. Type adalah antarmuka atau kelas abstrak dan tidak dapat dipakai.
Relatif penting untuk menjadikannya sebagai IThingy dibandingkan dengan Thingy karena kode yang saya kerjakan dianggap sensitif dan pengujian unit sangat penting. Mocking objek untuk skrip pengujian atom tidak dimungkinkan dengan objek yang lengkap seperti Thingy. Mereka harus menjadi antarmuka.
Saya telah mempelajari dokumentasi JSON.NET untuk sementara waktu sekarang, dan pertanyaan yang dapat saya temukan di situs ini terkait dengan ini semuanya berasal lebih dari setahun yang lalu. Ada bantuan?
Selain itu, jika penting, aplikasi saya ditulis dalam .NET 4.0.