isteğe bağlı. Bu yapının bir veya daha fazla arabirimin üyelerini uyguladığını gösterir. Bkz . Implements Deyimi.
interfacenames
deyimini Implements kullanıyorsanız gereklidir. Bu yapının uyguladığı arabirimlerin adları.
datamemberdeclarations
Gerekli. Yapının veri üyelerini belirten sıfır veya daha fazla Const, Dim, Enumveya Event deyimi.
methodmemberdeclarations
isteğe bağlı. Yapının yöntem üyeleri olarak görev yapan , Operator, Propertyveya yordamlarının sıfır veya Sub daha fazla bildirimiFunction.
End Structure
Gerekli. Tanımı sonlandırır Structure .
Açıklamalar
deyimi Structure , özelleştirebileceğiniz bileşik bir değer türünü tanımlar. Yapı, Visual Basic'in önceki sürümlerinin kullanıcı tanımlı türünün (UDT) genelleştirilmesidir. Daha fazla bilgi için bkz . Yapılar.
Yapılar, sınıflar ile aynı özelliklerin çoğunu destekler. Örneğin, yapıların özellikleri ve yordamları olabilir, arabirimleri uygulayabilir ve parametreli oluşturucuları olabilir. Ancak devralma, bildirimler ve kullanım gibi alanlardaki yapılar ve sınıflar arasında önemli farklar vardır. Ayrıca, sınıflar başvuru türleri ve yapılar değer türleridir. Daha fazla bilgi için bkz . Yapılar ve Sınıflar.
Yalnızca ad alanı veya modül düzeyinde kullanabilirsiniz Structure . Bu, bir yapının bildirim bağlamının bir kaynak dosya, ad alanı, sınıf, yapı, modül veya arabirim 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.
Yapılar varsayılan olarak Arkadaş erişimi olarak gösterilir. Erişim değiştiricileri ile erişim düzeylerini ayarlayabilirsiniz. Daha fazla bilgi için bkz . Visual Basic'te erişim düzeyleri.
Kurallar
Iç içe. Bir yapıyı başka bir yapı içinde tanımlayabilirsiniz. Dış yapıya içeren yapı, iç yapı ise iç içe yapı olarak adlandırılır. Ancak, iç içe geçmiş bir yapının üyelerine, içeren yapı üzerinden erişemezsiniz. Bunun yerine iç içe yapı veri türünün değişkenini bildirmeniz gerekir.
Üye Bildirimi. Bir yapının her üyesini bildirmeniz gerekir. Yapı üyesi Korumalı olamaz veya Protected Friend bir yapıdan hiçbir şey devralamadığından. Ancak yapının kendisi veya Protected FriendolabilirProtected.
Bir yapıda sıfır veya daha fazla paylaşılmayan değişken veya paylaşılmayan, özel olmayan olaylar bildirebilirsiniz. Bazıları paylaşılmasa bile yalnızca sabitlere, özelliklere ve yordamlara sahip olamazsınız.
Başlatma. Bir yapının paylaşılmayan veri üyesinin değerini bildiriminin bir parçası olarak başlatamazsınız. Bu tür bir veri üyesini yapıdaki parametreli bir oluşturucu aracılığıyla başlatmanız veya yapının bir örneğini oluşturduktan sonra üyeye bir değer atamanız gerekir.
Devralma. Bir yapı, tüm yapıların devraldığı dışında ValueTypeherhangi bir türden devralamaz. Özellikle, bir yapı başka bir yapıdan devralamaz.
Uygulama. Yapı Implements Deyimini kullanıyorsa, içinde interfacenamesbelirttiğiniz her arabirim tarafından tanımlanan her üyeyi uygulamanız gerekir.
Varsayılan Özellik. Bir yapı, Varsayılan değiştiriciyi kullanarak varsayılan özelliği olarak en fazla bir özellik belirtebilir. Daha fazla bilgi için bkz . Varsayılan.
Davranış
Erişim Düzeyi. Bir yapı içinde, her üyeyi kendi erişim düzeyiyle bildirebilirsiniz. Tüm yapı üyeleri varsayılan olarak Genel erişim olarak adlandırılır. Yapının kendisi daha kısıtlı bir erişim düzeyine sahipse, erişim düzeylerini erişim değiştiricilerle ayarlasanız bile, bu ayarın üyelerine erişimi otomatik olarak kısıtladığını unutmayın.
Kapsam. Bir yapı, ad alanı, sınıf, yapı veya modül içeren tüm kapsam içindedir.
Her yapı üyesinin kapsamı tüm yapıdır.
Ömür. Bir yapının kendi ömrü yoktur. Bunun yerine, bu yapının her örneğinin diğer tüm örneklerden bağımsız bir ömrü vardır.
Örneğin ömrü, New Operator yan tümcesi tarafından oluşturulduğunda başlar. Bu, onu tutan değişkenin ömrü sona erdiğinde sona erer.
Yapı örneğinin ömrünü uzatamazsınız. Statik yapı işlevselliğine yaklaşık bir modül tarafından sağlanır. Daha fazla bilgi için bkz . Modül Deyimi.
Yapı üyelerinin nasıl ve nerede bildirildiğine bağlı olarak yaşam süreleri vardır. Daha fazla bilgi için bkz. Sınıf Deyimi'nde "Yaşam Süresi".
Nitelik. Bir yapının dışındaki kod, bir üyenin adını bu yapının adıyla nitelemelidir.
İç içe bir yapı içindeki kod bir programlama öğesine nitelenmemiş bir başvuru yaparsa, Visual Basic önce iç içe yerleştirilmiş yapıda, ardından içeren yapısında ve en dıştaki içeren öğeye kadar öğeyi arar. Daha fazla bilgi için bkz . Bildirilen Öğelere Başvurular.
Bellek Tüketimi. Tüm bileşik veri türlerinde olduğu gibi, üyelerinin nominal depolama ayırmalarını bir araya ekleyerek bir yapının toplam bellek tüketimini güvenli bir şekilde hesaplayamazsınız. Ayrıca, bellekteki depolama sırasının bildirim sıranızla aynı olduğunu güvenle varsayamazsınız. Bir yapının depolama düzenini denetlemeniz gerekiyorsa özniteliğini StructLayoutAttribute deyimine Structure uygulayabilirsiniz.
Örnek
Aşağıdaki örnekte, bir çalışan için ilişkili bir veri kümesi tanımlamak üzere deyimi kullanılır Structure . Veri öğelerinin duyarlılığını Publicyansıtmak için , Friendve Private üyelerinin kullanımını gösterir. Ayrıca yordam, özellik ve olay üyelerini de gösterir.
VB
PublicStructure employee
' Public members, accessible from throughout declaration region.Public firstName AsStringPublic middleName AsStringPublic lastName AsString' Friend members, accessible from anywhere within the same assembly.Friend employeeNumber AsIntegerFriend workPhone AsLong' Private members, accessible only from within the structure itself.Private homePhone AsLongPrivate level AsIntegerPrivate salary AsDoublePrivate bonus AsDouble' Procedure member, which can access structure's private members.FriendSub CalculateBonus(ByVal rate AsSingle)
bonus = salary * CDbl(rate)
EndSub' Property member to return employee's eligibility.FriendReadOnlyProperty Eligible() AsBooleanGetReturn level >= 25EndGetEndProperty' Event member, raised when business phone number has changed.PublicEvent ChangedWorkPhone(ByVal newPhone AsLong)
EndStructure
S'leri kullanma Structurehakkında daha fazla bilgi için bkz . Yapı Değişkeni.
Bu içeriğin kaynağı GitHub'da bulunabilir; burada ayrıca sorunları ve çekme isteklerini oluşturup gözden geçirebilirsiniz. Daha fazla bilgi için katkıda bulunan kılavuzumuzu inceleyin.
.NET geri bildirimi
.NET, açık kaynak bir projedir. Geri bildirim sağlamak için bir bağlantı seçin:
Diğer geliştiriciler ve uzmanlarla gerçek dünyadaki kullanım örneklerini temel alan ölçeklenebilir yapay zeka çözümleri oluşturmak için toplantı serisine katılın.