Binder.ChangeType(Object, Type, CultureInfo) Metode

Definisi

Mengubah jenis yang diberikan Object ke yang diberikan Type.

public:
 abstract System::Object ^ ChangeType(System::Object ^ value, Type ^ type, System::Globalization::CultureInfo ^ culture);
public abstract object ChangeType(object value, Type type, System.Globalization.CultureInfo? culture);
public abstract object ChangeType(object value, Type type, System.Globalization.CultureInfo culture);
abstract member ChangeType : obj * Type * System.Globalization.CultureInfo -> obj
Public MustOverride Function ChangeType (value As Object, type As Type, culture As CultureInfo) As Object

Parameter

value
Object

Objek yang akan diubah menjadi baru Type.

type
Type

Yang baru Typevalue akan menjadi.

culture
CultureInfo

Instans CultureInfo yang digunakan untuk mengontrol paksaan jenis data. Jika culture adalah null, CultureInfo untuk utas saat ini digunakan.

Mengembalikan

Objek yang berisi nilai yang diberikan sebagai jenis baru.

Keterangan

Refleksi memodelkan aturan aksesibilitas dari sistem jenis umum. Misalnya, jika penelepon berada dalam perakitan yang sama, pemanggil tidak memerlukan izin khusus untuk anggota internal. Jika tidak, pemanggil membutuhkan ReflectionPermission. Ini konsisten dengan pencarian anggota yang dilindungi, privat, dan sebagainya.

Prinsip umumnya adalah bahwa ChangeType seharusnya hanya melakukan pemakaian yang melebar, yang tidak pernah kehilangan data. Contoh koersi yang melebar adalah memaksakan nilai yang merupakan bilangan bulat bertanda tangan 32-bit ke nilai yang merupakan bilangan bulat bertanda tangan 64-bit. Ini dibedakan dari pemakaian yang menyempit, yang mungkin kehilangan data. Contoh koersi yang menyempit adalah memaksa bilangan bulat bertanda tangan 64-bit ke bilangan bulat bertanda tangan 32-bit.

Tabel berikut mencantumkan paksaan yang dilakukan secara default ChangeType.

Jenis sumber Jenis target
Tipe apa pun Jenis dasarnya.
Tipe apa pun Antarmuka yang diimplementasikannya.
Karakter UInt16, UInt32, Int32, UInt64, Int64, Tunggal, Ganda
Bita Char, UInt16, Int16, UInt32, Int32, UInt64, Int64, Single, Double
SByte Int16, Int32, Int64, Single, Double
UInt16 Jenis data: UInt32, Int32, UInt64, Int64, Single, Double
Int16 Int32, Int64, Single, Double
UInt32 UInt64, Int64, Tunggal, Ganda
Int32 Int64, Tunggal, Ganda
UInt64 Tunggal, Ganda
Int64 Tunggal, Ganda
Single Double
Non-referensi Berdasarkan referensi.

Jika implementasi binder memungkinkan koersi nilai string ke jenis numerik, culture parameter diperlukan untuk mengonversi string yang mewakili 1000 menjadi Double nilai, karena 1000 diwakili secara berbeda oleh budaya yang berbeda. Pengikat default tidak melakukan paksaan string tersebut.

Berlaku untuk