Binder.ChangeType(Object, Type, CultureInfo) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.