Nesne Veri Türü

Nesnelere başvuran adresleri tutar. Herhangi bir başvuru türünü (dize, dizi, sınıf veya arabirim) bir Object değişkene atayabilirsiniz. Değişken Object herhangi bir değer türüne (sayısal, Boolean, , Char, Dateyapı veya numaralandırma) ait verilere de başvurabilir.

Açıklamalar

Object Veri türü, uygulamanızın tanıdığı nesne örnekleri de dahil olmak üzere herhangi bir veri türündeki verileri işaret edebilir. Derleme zamanında değişkenin işaret olabileceği veri türünü bilmediğiniz durumlarda kullanın Object .

varsayılan değeridir ObjectNothing (null başvuru).

Veri Türleri

Bir değişkene herhangi bir veri türünün değişkenini, sabitini Object veya ifadesini atayabilirsiniz. Bir Object değişkenin şu anda başvurduğu veri türünü belirlemek için sınıfının yöntemini System.Type kullanabilirsinizGetTypeCode. Aşağıdaki örnek bunu göstermektedir.

Dim myObject As Object
' Suppose myObject has now had something assigned to it.
Dim datTyp As Integer
datTyp = Type.GetTypeCode(myObject.GetType())

Veri Object türü bir başvuru türüdür. Ancak Visual Basic, bir Object değer türüne ait verilere başvurduğunda bir değişkeni değer türü olarak değerlendirir.

Depolama

Hangi veri türüne başvurursa başvursa, değişken Object veri değerinin kendisini değil, değere yönelik bir işaretçiyi içerir. Bilgisayar belleğinde her zaman dört bayt kullanır, ancak bu, değişkenin değerini temsil eden verilerin depolama alanını içermez. Verileri bulmak için işaretçiyi kullanan kod nedeniyle, Object değer türlerini tutan değişkenlerin erişimi açıkça yazılan değişkenlere göre biraz daha yavaştır.

Programlama İpuçları

  • Birlikte Çalışma Konuları. Otomasyon veya COM nesneleri gibi .NET Framework için yazılmayan bileşenlerle birlikte kullanıyorsanız, diğer ortamlardaki işaretçi türlerinin Visual Basic Object türüyle uyumlu olmadığını unutmayın.

  • Performans. Türüyle Object bildirdiğiniz bir değişken, herhangi bir nesneye başvuru içerecek kadar esnektir. Ancak, böyle bir değişkende bir yöntem veya özellik çağırdığınızda, her zaman geç bağlama (çalışma zamanında) tahakkuk eder. Erken bağlamayı zorlamak (derleme zamanında) ve daha iyi performans sağlamak için değişkeni belirli bir sınıf adıyla bildirin veya belirli bir veri türüne yayınlayın.

    Bir nesne değişkeni bildirdiğinizde, genelleştirilmiş Object tür yerine belirli OperatingSystembir sınıf türü kullanmayı deneyin. Ayrıca özelliklerine TextBoxControlve yöntemlerine erişebilmek için yerine gibi kullanılabilir en özel sınıfı kullanmanız gerekir. Kullanılabilir sınıf adlarını bulmak için genellikle Nesne Tarayıcısı'ndaki Sınıflar listesini kullanabilirsiniz.

  • Genişletme. Tüm veri türleri ve tüm başvuru türleri veri türüne genişler Object . Bu, herhangi bir türe Object hatayla System.OverflowException karşılaşmadan dönüştürebileceğiniz anlamına gelir.

    Ancak, değer türleri ile Objectarasında dönüştürme yaparsanız Visual Basic, yürütmeyi yavaşlatan kutulama ve kutu açma adlı işlemleri gerçekleştirir.

  • Karakter yazın. Object sabit tür karakteri veya tanımlayıcı türü karakteri yoktur.

  • Çerçeve Türü. .NET Framework'te karşılık gelen tür sınıfıdır System.Object .

Örnek

Aşağıdaki örnekte bir Object nesne örneğine işaret eden bir değişken gösterilmektedir.

Dim objDb As Object
Dim myCollection As New Collection()
' Suppose myCollection has now been populated.
objDb = myCollection.Item(1)

Ayrıca bkz.