Structure Yapısı

Bir yapının adını bildirir ve değişkenleri, özellikleri, olayları ve yapısını oluşturan yordamların tanımını tanıtır.

[ <attributelist> ] [ accessmodifier ] [ Shadows ] [ Partial ] _
Structure name [ ( Of typelist ) ]
    [ Implements interfacenames ]
    [ datamemberdeclarations ]
    [ methodmemberdeclarations ]
End Structure

Bölümler

Süre

Tanım

attributelist

İsteğe bağlı.Bkz: Öznitelik Listesi.

accessmodifier

İsteğe bağlı.Aşağıdaki değerlerden biri olabilir:

Bkz: Visual Basic'de Erişim Düzeyleri

Shadows

İsteğe bağlı.Bkz: Gölgeler.

Partial

İsteğe bağlı.Yapının kısmi bir tanımını belirtir.Bkz: Kısmi (Visual Basic)

name

Gerekli.Bu yapının adı.Bkz: Bildirilen Öğe Adları (Visual Basic)

Of

İsteğe bağlı.Bunun genel amaçlı bir yapı olduğunu belirtir.

typelist

Of anahtar sözcüğünü kullanıyorsanız gereklidir.Bu yapı için tür parametreleri listesi.Bkz: Tür Listesi.

Implements

İsteğe bağlı.Bu yapının bir veya daha fazla arabirim üyesini uyguladığını belirtir.Bkz: Implements Deyimi

interfacenames

Implements ifadesini kullanıyorsanız gereklidir.Bu yapının uyguladığı arayüzlerin adları.

datamemberdeclarations

Gerekli.Sıfır veya daha fazla Const, Dim, Enum veya Event ifadesi, yapının veri üyelerini bildiriyor.

methodmemberdeclarations

İsteğe bağlı.Yapının yöntem üyeleri işlevi gören, sıfır veya daha fazla Function, Operator, Property veya Sub bildirimi.

End Structure

Gerekli.Structure tanımını sonlandırır.

Notlar

Structure belirtimi, özelleştirebileceğiniz bir bileşik değer türü tanımlar.Yapı Visual Basic uygulamasının önceki sürümlerinin kullanıcı tanımlı türünün (UDT) genelleştirilmiş halidir.Daha fazla bilgi için bkz. Yapılar (Visual Basic).

Yapılar sınıflarla aynı özelliklerin çoğunu destekler.Örneğin, yapılar özelliklere ve yordamlara sahip olabilir, arabirimleri uygulayabilir ve parametreli oluşturuculara sahip olabilir.Ancak, devralma, bildirimler ve kullanım alanlardaki yapılar ve sınıflar arasında önemli farklılıklar vardır.Ayrıca, sınıflar başvuru, yapılar değer türüdür.Daha fazla bilgi için bkz. Yapılar ve Sınıflar (Visual Basic).

Structure'ı yalnızca ad alanı veya modül düzeyinde kullanabilirsiniz.Bu, bir yapı için bildirim içeriğinin bir kaynak dosyası, ad alanı, sınıf, yapı, modül veya arabirimi olması gerektiği ve bir yordam veya blok olamayacağı anlamına gelir.Daha fazla bilgi için bkz. Bildirim Bağlamları ve Varsayılan Erişim Düzeyleri (Visual Basic).

Yapılar varsayılan olarak Arkadaş (Visual Basic) erişimine sahiptir.Erişim değiştiricileri ile, erişim düzeylerini ayarlayabilirsiniz.Daha fazla bilgi için bkz. Visual Basic'de Erişim Düzeyleri.

Kurallar

  • İç İçe Geçme. Bir yapıyı başka bir yapı içinde tanımlayabilirsiniz.Dış yapı içeren yapı olarak adlandırılır ve iç yapı ise iç içe yapı olarak adlandırılır.Ancak, içeren yapı ile iç içe geçmiş bir yapının üyelerine erişemezsiniz.Bunun yerine, iç içe geçmiş yapının veri türünde bir değişken bildirmeniz gerekir.

  • Üye Bildirimi. Bir yapının her üyesini bildirmeniz gerekir.Yapıdan hiçbir şey devralınamayacağından, Yapı üyesi Korumalı veya Protected Friend olamaz.Ancak yapının kendisi Protected veya Protected Friend olabilir.

    Bir yapıda sıfır veya daha çok paylaşılmayan değişkenler veya paylaşılmayan, özel olmayan olaylar bildirebilirsiniz.Bazıları paylaşılmayan olsa bile yalnızca sabitler, özellikler ve yordamlar bulunamaz.

  • Başlatma. Bir yapının herhangi bir paylaşılmayan veri üyesinin değerini, bildirimi kapsamında başlatılamazsınız.Böyle bir veri üyesini, yapıdaki parametreli bir kurucu kullanarak başlatmanız veya yapının örneğini oluşturduktan sonra üyeye bir değer atamanız gerekir.

  • Devralma. Yapı, tüm türlerin devraldığı ValueType dışındaki türlerden devralamaz.Özellikle, bir yapı bir başkasından devralınamaz.

    Inherits DeyimiValueType'ı belirtmek için bile olsa, bir yapı tanımında kullanamazsınız.

  • Uygulama. Yapı Implements Deyimi kullanıyorsa, interfacenames konumunda belirttiğiniz her arabirim tarafından tanımlanan her üyeyi uygulamalısınız.

  • Varsayılan Özellik. Yapı Varsayılan (Visual Basic) değiştiricisini kullanarak varsayılan özellik olarak en fazla bir özellik belirleyebilir.Daha fazla bilgi için bkz. Varsayılan (Visual Basic).

Davranış

  • Erişim Düzeyi. Bir yapı içerisinde, her bir üyeyi kendi erişim düzeyiyle bildirebilirsiniz.Tüm yapı üyeleri Public (Visual Basic) erişimi varsayılanını kullanır.Eğer daha kısıtlı bir erişim düzeyi yapısı varsa, erişim değiştiricileri ile kullanıcıların erişim düzeylerini ayarlasanız bile, bu otomatik olarak üyelere erişimi kısıtlar.

  • Kapsam. Bir yapı ad alanını, sınıfını, yapısını veya modülünü, içerdiği sürece kapsamdadır.

    Her yapı öğesinin kapsamı yapının tamamıdır.

  • Ömür. Yapının tek başına bir ömrü yoktur.Bunun yerine, bu yapının her örneğinin tüm diğer örneklerden bağımsız bir ömrü vardır.

    Bir örneğin yaşam ömrü, New İşleci (Visual Basic) yan tümcesi tarafından oluşturulduğunda başlar.Değişkenin ömrü sona erdiğinde bu da sona erer.

    Bir yapı örneğinin ömrünü uzatamazsınız.Statik yapı işlevselliğine yaklaşık bir tahmin modül tarafından sağlanabilir.Daha fazla bilgi için bkz. Module Deyimi.

    Yapı üyelerinin ömürleri nasıl ve nerede beyan edildiklerine bağlıdır.Daha fazla bilgi için, Class Deyimi (Visual Basic) konusundaki "Ömür" başlığına bakın.

  • Nitelik. Bir yapı dışındaki kod, bir üyenin adını bu yapı adıyla nitelemelidir.

    İç içe bir yapı içinde kod programlama öğesine nitelenmemiş bir başvuru yaparsa, Visual Basic ilk önce iç içe yapıda, sonra içeren yapısında ve en dıştaki içeren öğede öğeyi arar.Daha fazla bilgi için bkz. Bildirilmiş Öğelere Başvurular (Visual Basic).

  • Bellek Tüketimi. Tüm bileşik veri türleriyle olduğu gibi, bir yapının toplam bellek tüketimini, üyelerinin nominal depolama ayırmalarını birlikte ekleyerek güvenli bir şekilde hesaplayamazsınız.Ayrıca, bellekteki depolama sırasının bildirim sırasıyla aynı olduğunu güvenli olarak varsayamazsınız.Yapının depolama düzenini denetlemeniz gerekirse StructLayoutAttribute özniteliğini Structure deyimine uygulayabilirsiniz.

Örnek

Aşağıdaki örnek bir çalışan için ilgili bir veri seti tanımlamak üzere Structure bildirisi kullanır.Veri öğelerinin duyarlılığını yansıtmak için Public, Friend ve Private üyelerinin kullanımını gösterir.Yordam, özellik ve olay üyelerini de gösterir.

Public Structure employee
    ' Public members, accessible from throughout declaration region. 
    Public firstName As String 
    Public middleName As String 
    Public lastName As String 
    ' Friend members, accessible from anywhere within the same assembly. 
    Friend employeeNumber As Integer 
    Friend workPhone As Long 
    ' Private members, accessible only from within the structure itself. 
    Private homePhone As Long 
    Private level As Integer 
    Private salary As Double 
    Private bonus As Double 
    ' Procedure member, which can access structure's private members. 
    Friend Sub calculateBonus(ByVal rate As Single)
        bonus = salary * CDbl(rate)
    End Sub 
    ' Property member to return employee's eligibility. 
    Friend ReadOnly Property eligible() As Boolean 
        Get 
            Return level >= 25
        End Get 
    End Property 
    ' Event member, raised when business phone number has changed. 
    Public Event changedWorkPhone(ByVal newPhone As Long)
End Structure

Ayrıca bkz.

Başvuru

Class Deyimi (Visual Basic)

Interface Deyimi (Visual Basic)

Module Deyimi

Dim Deyimi (Visual Basic)

Const Deyimi (Visual Basic)

Enum Deyimi (Visual Basic)

Event Deyimi

Operator Deyimi

Property Deyimi

Kavramlar

Yapılar ve Sınıflar (Visual Basic)