Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menentukan Jenis Objek daripada Perwakilan Rentetan dalam C#?

Bagaimana untuk Menentukan Jenis Objek daripada Perwakilan Rentetan dalam C#?

Mary-Kate Olsen
Lepaskan: 2025-01-23 14:47:13
asal
198 orang telah melayarinya

Tentukan jenis objek berdasarkan perwakilan rentetan dalam C#

Dalam C#, rentetan yang mengandungi nama jenis boleh ditukar kepada objek Jenis yang sepadan. Walau bagaimanapun, kaedah yang digunakan untuk penukaran ini bergantung pada sama ada jenis ditakrifkan dalam perhimpunan yang sama dengan kod panggilan, atau dalam pemasangan yang berbeza.

Gunakan Type.GetType(string)

Jika jenis ditakrifkan dalam perhimpunan yang sama, anda boleh menggunakan kaedah Type.GetType(string) dan memberikan nama jenis yang layak sepenuhnya sebagai rentetan. Contohnya, untuk mendapatkan int jenis data Type, anda akan menggunakan:

<code class="language-csharp">Type.GetType("System.Int32");</code>
Salin selepas log masuk

Gunakan Assembly.GetType(string)

Jika jenis ditakrifkan dalam pemasangan yang berbeza, anda juga perlu memberikan nama pemasangan. Ini boleh dicapai menggunakan kaedah Assembly.GetType(string). Mula-mula, dapatkan rujukan kepada perhimpunan, kemudian gunakan rujukan itu untuk mendapatkan Type:

<code class="language-csharp">Assembly asm = typeof(SomeKnownType).Assembly;
Type type = asm.GetType("Namespace.MyClass");</code>
Salin selepas log masuk

Kelayakan ruang nama dan perhimpunan

Pastikan anda memasukkan ruang nama jenis dalam rentetan yang disediakan untuk Type.GetType() atau Assembly.GetType(). Selain itu, untuk perhimpunan yang dinamakan kuat, mungkin perlu memasukkan identiti pemasangan penuh, termasuk versi, budaya dan teg kunci awam.

Contoh senario

Pertimbangkan senario berikut, di mana terdapat rentetan yang mengandungi nama jenis yang layak sepenuhnya:

<code class="language-csharp">string typeName = "Namespace.MyClass, MyAssembly";</code>
Salin selepas log masuk

Bergantung pada sama ada MyAssembly dirujuk oleh perhimpunan panggilan, sama ada Type.GetType() atau Assembly.GetType() boleh digunakan:

<code class="language-csharp">// 如果 MyAssembly 被引用
Type type1 = Type.GetType(typeName);

// 如果 MyAssembly 未被引用
Assembly asm = typeof(SomeKnownType).Assembly;
Type type2 = asm.GetType(typeName);</code>
Salin selepas log masuk

How to Determine Object Type from its String Representation in C#?

Atas ialah kandungan terperinci Bagaimana untuk Menentukan Jenis Objek daripada Perwakilan Rentetan 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