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 SomeTypebelum mendefinisikan konstruktor tanpa parameter, panggilan ke Activator.CreateInstanceakan memunculkan pengecualian tipe MissingMethodExceptiondengan 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.GetUninitializedObjecttidak memungkinkan untuk membuat string yang tidak diinisialisasi. Anda mungkin mendapatkan pengecualian:System.ArgumentException: Uninitialized Strings cannot be created.Harap perhatikan hal ini.