Binder.ChangeType(Object, Type, CultureInfo) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Verilen Object
öğesinin türünü verilen Type
olarak değiştirir.
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
Parametreler
- value
- Object
Yeni Type
bir öğesine dönüştürülecek nesne.
- type
- Type
Type
Yeni olacakvalue
.
- culture
- CultureInfo
Bunun bir CultureInfo örneği, veri türlerinin zorlamasını denetlemek için kullanılır. ise culture
null
, CultureInfo geçerli iş parçacığı için kullanılır.
Döndürülenler
Yeni tür olarak verilen değeri içeren bir nesne.
Açıklamalar
Yansıma, ortak tür sisteminin erişilebilirlik kurallarını modeller. Örneğin, çağıran aynı derlemedeyse, çağıranın iç üyeler için özel izinlere ihtiyacı yoktur. Aksi takdirde, çağıranın öğesine ihtiyacı vardır ReflectionPermission. Bu, korumalı, özel vb. üyelerin aramasıyla tutarlıdır.
Genel ilke, yalnızca hiçbir zaman veri kaybetmeyen genişletme zorlamaları gerçekleştirmesi gerektiğidir ChangeType
. Genişletme zorlamasına örnek olarak, 32 bit işaretli tamsayı olan bir değeri 64 bit işaretli bir tamsayıya zorlamak örnek olarak gösterilir. Bu, veri kaybına neden olabilecek darlama zorlamasından ayırt edilir. Daraltma zorlamasına örnek olarak, 64 bit işaretli bir tamsayıyı 32 bit işaretli bir tamsayıya zorlamak örnek olarak gösterilir.
Aşağıdaki tabloda, varsayılan ChangeType
tarafından gerçekleştirilen zorlamalar listelenir.
Kaynak türü | Hedef türü |
---|---|
Herhangi bir tür | Temel türü. |
Herhangi bir tür | Uyguladığı arabirim. |
Char | UInt16, UInt32, Int32, UInt64, Int64, Single, Double |
Bayt | Char, UInt16, Int16, UInt32, Int32, UInt64, Int64, Single, Double |
SByte | Int16, Int32, Int64, Tek, Çift |
UInt16 | UInt32, Int32, UInt64, Int64, Tek, Çift |
Int16 | Int32, Int64, Tek, Çift |
UInt32 | UInt64, Int64, Tek, Çift |
Int32 | Int64, Tek, Çift |
UInt64 | Tek, Çift |
Int64 | Tek, Çift |
Tek | Çift |
Başvuru dışı | Başvuruya göre. |
Bağlayıcı uygulaması dize değerlerini sayısal türlere zorlamaya izin veriyorsa, culture
1000'i temsil eden bir dizeyi bir Double değere dönüştürmek için parametresi gereklidir çünkü 1000 farklı kültürler tarafından farklı temsil edilir. Varsayılan bağlayıcı bu tür dize zorlamalarını yapmaz.