Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Menghantar atau Menukar Objek kepada Jenis Generik dalam C#?

Bagaimanakah Saya Boleh Menghantar atau Menukar Objek kepada Jenis Generik dalam C#?

Mary-Kate Olsen
Lepaskan: 2025-01-05 11:13:42
asal
508 orang telah melayarinya

How Can I Cast or Convert Objects to Generic Types in C#?

Membuat Pembolehubah Menggunakan Pembolehubah Jenis Generik

Dalam pengaturcaraan C#, adalah mungkin untuk menghantar pembolehubah objek jenis kepada pembolehubah jenis T generik , di mana T ditakrifkan dalam pembolehubah Jenis. Begini caranya:

Kaedah generik CastObject mengambil objek sebagai input dan menghantarnya ke pembolehubah jenis T menggunakan ungkapan hantaran mudah, seperti:

public T CastObject<T>(object input) {   
    return (T) input;   
}
Salin selepas log masuk

Kaedah generik ConvertObject melakukan penukaran dan bukannya pelakon langsung. Ia menggunakan kaedah Convert.ChangeType untuk menukar objek input kepada jenis generik yang ditentukan, memberikan lebih fleksibiliti apabila menghantar antara jenis yang tidak serasi:

public T ConvertObject<T>(object input) {
    return (T) Convert.ChangeType(input, typeof(T));
}
Salin selepas log masuk

Sebagai contoh, diberi nilai objek1 dengan nilai perpuluhan, menghantarnya kepada int menggunakan kaedah ConvertObject akan menghasilkan nilai integer:

Type intType = typeof(Int32);
object value1 = 1000.1;

int value2 = Convert.ChangeType(value1, intType); // value2 will be 1000
Salin selepas log masuk

Adalah penting untuk ambil perhatian bahawa penghantaran dan penukaran mungkin membawa kepada pengecualian masa jalan jika jenis sasaran tidak serasi dengan jenis sumber. Sentiasa penting untuk mengendalikan operasi tuangan jenis dengan berhati-hati dan memastikan hasil yang diharapkan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghantar atau Menukar Objek kepada Jenis Generik dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan