Tidak, apa yang Anda minta tidak mungkin dilakukan di C#.
Alih-alih solusi yang tepat untuk masalah ini adalah dengan menggunakan metode penguraian yang lebih baik yang tidak akan menimbulkan pengecualian sejak awal. Jika nilai input Anda bisa nol, gunakan metode penguraian yang dapat menerima nilai nol.
Hal pertama yang mungkin perlu Anda lakukan adalah menggunakan tipe nullable untuk bidang int/bool Anda, sehingga Anda dapat mendukung nilai null. Selanjutnya, Anda harus membuat metode Anda sendiri untuk mengurai ints/bools. Jika input Anda null, kembalikan null, jika tidak, gunakan int.TryParse
, bool.TryParse
(atau as
untuk masing-masing jika input Anda adalah tipe yang tepat, cukup berikan ke object
).
Kemudian dengan menggunakan metode tersebut, alih-alih Convert
, Anda tidak akan melempar pengecualian sejak awal (yang seharusnya tidak Anda lakukan di sini meskipun itu bisa berhasil, karena pengecualian adalah untuk kasus luar biasa, bukan alur kontrol yang diharapkan).