Yapısı deyimi
Bir yapı adını bildirir ve tanımına değişkenleri, özellikleri, olayları ve yapısını kapsar yordamlar tanıtır.
[ <attributelist> ] [ accessmodifier ] [ Shadows ] [ Partial ] _
Structure name [ ( Of typelist ) ]
[ Implements interfacenames ]
datamemberdeclarations
[ methodmemberdeclarations ]
End Structure
Bölümleri
Terim |
Tanım |
attributelist |
İsteğe Bağlı.Bkz: öznitelik listesi. |
accessmodifier |
İsteğe Bağlı.Aşağıdakilerden biri olabilir: |
Shadows |
İsteğe Bağlı.Bkz: Gölge. |
Partial |
İsteğe Bağlı.Kısmi bir tanımı yapısını gösterir.Bkz: Kısmi (Visual Basic) |
name |
Gerekli.Bu yapının adıdır.Bkz: Bildirilen öğe adları (Visual Basic) |
Of |
İsteğe Bağlı.Bu genel bir yapı olduğunu belirtir. |
typelist |
Kullanırsanız, gereken , anahtar sözcüğü.Bu yapı tür parametreleri listesi.Bkz: türü listesinde. |
Implements |
İsteğe Bağlı.Bu yapı bir veya daha fazla arabirim üyeleri uygulayan gösterir.Bkz: Implements deyimi |
interfacenames |
Kullanırsanız, gereken Implements ifadesi.Bu yapı uygulayan arabirimleri adları. |
datamemberdeclarations |
Gerekli.Bir veya daha fazla Const, Dim, Enum, veya Event bildirmek ifadeleri veri üyeleri yapısı. |
methodmemberdeclarations |
İsteğe Bağlı.Sıfır veya daha çok ilgili bildirimler Function, Operator, Property, veya Sub olarak hizmet yordamları yöntemi üyeleri yapısı. |
End Structure |
Gerekli.Sona Structure tanımı. |
Notlar
Structure Deyimi, özelleştirebileceğiniz bir bileşik değer türü tanımlar.A yapısı genelleştirmesi önceki sürümlerini Visual Basic kullanıcı tanımlı türü (udt) olur.Daha fazla bilgi için bkz. Yapıları (Visual Basic).
Yapılar birçok sınıfları ile aynı özellikleri destekler.Örneğin, özellikleri ve yordamları yapıları olabilir, arabirimleri uygulayabilirsiniz ve kurucular belirlenmi.Ancak, devralma, bildirimleri ve kullanımı gibi alanlarda yapılar ve sınıflar arasındaki önemli farklılıklar vardır.Ayrıca sınıflar başvuru türleridir ve yapılar değer türüdür.Daha fazla bilgi için bkz. Yapılar ve sınıflar (Visual Basic).
Kullanabileceğiniz Structure yalnızca ad veya düzeyinde modülü.Yani bildiriminin içerik bir yapı kaynak dosyası, ad, sınıf, yapı, modül veya arabirimi olmalıdır ve bir yordam veya bloğu olamaz.Daha fazla bilgi için bkz. Bildirim içerikleri ve varsayılan erişim düzeyleri (Visual Basic).
Yapıları varsayılanı Arkadaş (Visual Basic) erişim.Erişim değiştiricileri ile kullanıcıların erişim düzeylerini ayarlayabilirsiniz.Daha fazla bilgi için bkz. Visual Basic'te erişim düzeyleri.
Kurallar
İç içe geçirme. İçinde başka bir yapı tanımlayabilirsiniz.Dış yapısı adlı yapısı içeren, iç yapı olarak adlandırılır ve bir iç içe yapı.Ancak, iç içe geçmiş yapısı ayarlarını üyeleri içeren yapısı erişemez.Bunun yerine, iç içe geçmiş yapısı ayarlarını veri türünde bir değişken bildirmeniz gerekir.
Üye bildirimi. Her üye bir yapısının bildirmeniz gerekir.Yapı üye olamaz korumalı veya Protected Friend çünkü hiçbir şey bir yapısından devralabilir.Yapı kendisi, ancak olabilir Protected veya Protected Friend.
En az bir paylaşılmayan değişken veya paylaşılmayan, noncustom bildirmeniz gerekir olay bir yapıda.Bazıları paylaşılmayan olsalar bile, yalnızca sabitler, özellikleri ve yordamlar, olamaz.
Başlatma. Herhangi bir paylaşılmayan veri üyesi bildiriminde bir parçası olarak bir yapı değerinin başlatılamıyor.Böyle bir veri üyesi yapısına parametreli bir kurucu sayesinde başlatılması, ya yapısı örneği oluşturduktan sonra üye için bir değer atayın.
Devralma. Bir yapı dışında herhangi bir türden devralamaz ValueType, karşı olan tüm yapıları devralır.Özellikle, bir yapı diğerinden devralamaz.
Kullanamazsınız Deyimi devralır belirtmek için bir yapı tanımı hatta ValueType.
Uygulaması. Yapı kullanıyorsa, Implements deyimi, sizin belirttiğiniz her arabirimi tarafından tanımlanan her üye uygulamalıdır interfacenames.
Varsayılan özellik. Bir özellik olarak en fazla bir yapıyı belirtebilirsiniz, Varsayılan özellik, kullanma Varsayılan (Visual Basic) değiştirici.Daha fazla bilgi için bkz. Varsayılan (Visual Basic).
Davranış
Erişim düzeyi. Bir yapı içinde her üyenin kendi erişim düzeyi ile bildirebilirsiniz.Tüm yapı üyeleri için varsayılan Ortak (Visual Basic) erişim.Erişim değiştiricileri ile kullanıcıların erişim düzeylerini ayarlamak bile yapısı daha sınırlı bir erişim düzeyi varsa, bu otomatik olarak erişim üyelerine, kısıtlar olduğunu unutmayın.
Kapsamı. Bir yapıdır, içeren ad, sınıf, yapı veya modül boyunca kapsam içinde.
Her yapı üye tüm yapısını kapsamıdır.
Yaşam süresi. Bir yapı bir yaşam kendini yok.Bunun yerine, bu yapıya her örneği tüm diğer kopyalarını bağımsız bir ömre sahiptir.
Tarafından oluşturulmuş örnek yaşam başlar bir New operatörü (Visual Basic) yan tümcesi.Onu tutan değişken kullanım süresi sona erdiğinde, sona erer.
Yaşam yapısını örneğinin genişletemezsiniz.Statik yapı işlev yaklaşık bir modül tarafından sağlanır.Daha fazla bilgi için bkz. Modül deyimi.
Yapı üyeleri nasıl ve nerede oldukları bildirilen bağlı ömürleri vardır.İçinde "Yaşam" daha fazla bilgi için bkz: Sınıf bildirimi (Visual Basic).
Nitelik. Kod bir yapı dışında bir üyenin adını bu yapıya adıyla nitelemeniz gerekir.
İç içe geçmiş yapısı içinde kod programlama öğe nitelenmemiş bir başvuru yaparsa, Visual Basic öğe için ilk içeren yapısı, sonra da iç içe geçmiş yapısı vb. en dıştaki içeren öğesine arar.Daha fazla bilgi için bkz. Başvuru için bildirilen öğeler (Visual Basic).
Bellek tüketim. Tüm bileşik veri türleri gibi güvenli bir yapı toplam bellek kullanımını bedava depolama ayırma üyeleri birbirine ekleyerek hesaplayamıyor.Üstelik, bellekte depolama sırasını siparişinizin bildiriminin aynı olduğunu güvenle varsayamazsınız.Bir yapı depolama yerleşimini denetlemek gerekiyorsa, uygulayabileceğiniz StructLayoutAttribute için öznitelik Structure ifadesi.
Örnek
Aşağıdaki örnek Structure bir çalışan için ilgili veri kümesi tanımlamak için ifade.Kullanımını göstermektedir Public, Friend, ve Private veri öğelerinin duyarlılığı göstermesini üyeleri.Ayrıca, yordam, özelliği ve olayı üyeleri 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
Sınıf bildirimi (Visual Basic)
Arabirim bildirimi (Visual Basic)