Ambil kelas berikut sebagai contoh:
class Sometype
{
int someValue;
public Sometype(int someValue)
{
this.someValue = someValue;
}
}
Saya kemudian ingin membuat contoh jenis ini menggunakan refleksi:
Type t = typeof(Sometype);
object o = Activator.CreateInstance(t);
Biasanya ini akan berfungsi, namun karena SomeType
belum mendefinisikan konstruktor tanpa parameter, panggilan ke Activator.CreateInstance
akan memunculkan pengecualian tipe MissingMethodException
dengan pesan " Tidak ada konstruktor parameterless yang ditentukan untuk objek ini. " Apakah ada cara alternatif untuk tetap membuat turunan dari jenis ini? Akan agak menyebalkan untuk menambahkan konstruktor tanpa parameter ke semua kelas saya.
FormatterServices.GetUninitializedObject
tidak memungkinkan untuk membuat string yang tidak diinisialisasi. Anda mungkin mendapatkan pengecualian:System.ArgumentException: Uninitialized Strings cannot be created.
Harap perhatikan hal ini.