Share via


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 Type akan value 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 pemanggil berada dalam rakitan 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 paksaan yang melebar, yang tidak pernah kehilangan data. Contoh koersi yang melebar adalah memaksakan nilai yang merupakan bilangan bulat bertanda 32-bit ke nilai yang merupakan bilangan bulat bertanda 64-bit. Hal ini dibedakan dari pemakaian yang menyempit, yang mungkin kehilangan data. Contoh koersi yang mempersempit adalah memaksa bilangan bulat bertanda tangan 64-bit ke bilangan bulat bertanda tangan 32-bit.

Tabel berikut mencantumkan koersi yang dilakukan secara default ChangeType.

Jenis sumber Jenis target
Jenis apa pun Jenis dasarnya.
Jenis apa pun Antarmuka yang diimplementasikannya.
Char UInt16, UInt32, Int32, UInt64, Int64, Single, Double
Byte Char, UInt16, Int16, UInt32, Int32, UInt64, Int64, Single, Double
Sbyte Int16, Int32, Int64, Single, Double
UInt16 UInt32, Int32, UInt64, Int64, Single, Double
Int16 Int32, Int64, Single, Double
UInt32 UInt64, Int64, Single, Double
Int32 Int64, Int64, Single, Double
UInt64 Single, Double
Int64 Single, Double
Tunggal Double
Bukan referensi Berdasarkan referensi.

Jika implementasi pengikat memungkinkan paksaan 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