JavaScriptSerializer.ConvertToType 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.
Aşırı Yüklemeler
ConvertToType(Object, Type) |
Belirtilen nesneyi belirtilen türe dönüştürür. |
ConvertToType<T>(Object) |
Verilen nesneyi belirtilen türe dönüştürür. |
ConvertToType(Object, Type)
Belirtilen nesneyi belirtilen türe dönüştürür.
public:
System::Object ^ ConvertToType(System::Object ^ obj, Type ^ targetType);
public object ConvertToType (object obj, Type targetType);
member this.ConvertToType : obj * Type -> obj
Public Function ConvertToType (obj As Object, targetType As Type) As Object
Parametreler
- obj
- Object
Dönüştürülecek nesne.
- targetType
- Type
Nesneyi dönüştürülecek tür.
Döndürülenler
Serileştirilmiş JSON dizesi.
Özel durumlar
Elde edilen JSON biçimli dize değerini MaxJsonLengthaşıyor.
-veya-
obj
döngüsel başvuru içerir. Bir alt nesnenin üst nesneye başvurusu olduğunda ve üst nesnenin alt nesneye başvurusu olduğunda döngüsel başvuru oluşur.
tarafından RecursionLimit tanımlanan özyineleme sınırı aşıldı.
Açıklamalar
Örnek, özel dönüştürücü kaydedildiği JavaScriptSerializer bir türü serileştirirken, seri hale getirici JSON biçimli bir dizeye dönüştürülecek ad/değer çiftlerinin sözlüğünü almak için yöntemini çağırır Serialize .
Yöntem Serialize ayrıca nesne grafı çok karmaşıksa veya kayıtlı örnekleri JavaScriptConverter dönüştürücü özyinelemesine neden olmuşsa özel durumlar oluşturabilir.
Şunlara uygulanır
ConvertToType<T>(Object)
Verilen nesneyi belirtilen türe dönüştürür.
public:
generic <typename T>
T ConvertToType(System::Object ^ obj);
public T ConvertToType<T> (object obj);
member this.ConvertToType : obj -> 'T
Public Function ConvertToType(Of T) (obj As Object) As T
Tür Parametreleri
- T
Dönüştürülecek tür obj
.
Parametreler
- obj
- Object
Dönüştürülecek nesne.
Döndürülenler
- T
Hedef türe dönüştürülen nesne.
Özel durumlar
obj
(veya iç içe bir üyesi) obj
özel bir türü gösteren bir "__type" özelliği içerir, ancak seri hale getiriciyle ilişkili tür çözümleyici karşılık gelen yönetilen türü bulamıyor.
-veya-
obj
(veya iç içe bir üyesi) obj
özel bir türü gösteren bir "__type" özelliği içerir, ancak karşılık gelen JSON dizesini seri durumdan çıkarmanın sonucu beklenen hedef türüne atanamaz.
-veya-
obj
(veya iç içe bir üyesi) obj
örneği başlatılamayan bir türü (örneğin, soyut bir tür veya arabirim) belirten Object bir "__type" özelliği içerir.
-veya-
Seri durumdan çıkarma hedefi olarak kullanılması desteklenmeyen dizi benzeri yönetilen türe dönüştürme obj
girişiminde bulunuldu.
-veya-
'a dönüştürmek obj
T
mümkün değildir.
obj
bir sözlük türüdür ve dize olmayan bir anahtar değeriyle karşılaşıldı.
-veya-
obj
türünde T
kullanılamayan üye tanımlarını içerir.
Örnekler
Aşağıdaki örnek, dönüştürücüye geçirilen sözlükteki bir ListItem değerden nesne almak için yönteminin nasıl kullanılacağını ConvertToType gösterir. Bu kod örneği, sınıfı için JavaScriptSerializer sağlanan daha büyük bir örneğin parçasıdır.
ArrayList itemsList = (ArrayList)dictionary["List"];
for (int i=0; i<itemsList.Count; i++)
list.Add(serializer.ConvertToType<ListItem>(itemsList[i]));
Dim itemsList As ArrayList = CType(dictionary("List"), ArrayList)
Dim i As Integer
For i = 0 To itemsList.Count - 1
list.Add(serializer.ConvertToType(Of ListItem)(itemsList(i)))
Next i
Açıklamalar
yöntemi ile ConvertToType temsil edilen obj
nesne örneğini türünün T
bir örneğine dönüştürmeyi dener. Bu dönüştürme sırasında nesne başvurusu eşitliğinin korunduğunun garantisi yoktur. Bu nedenle, bunu obj
varsayamaz ve T
aynı nesneye başvuramazsınız.
ConvertToType , öğesinden JavaScriptConvertertüretilen bir sınıf uygularsanız kullanılmak üzere tasarlanmıştır. Dönüştürücü kodu, seri hale getiricinin geçtiği sözlükte yer alan bir değeri alabilmeli ve sonra bu değeri türünün T
bir örneğine dönüştürebilmelidir. Bu görevi gerçekleştirmek için özel dönüştürme kodunu yeniden uygulamak yerine dönüştürücü kodundan yöntemini çağırabilirsiniz ConvertToType .