Bildirilmiş Öğelere Başvurular (Visual Basic)
Kodunuzu bildirilen bir öğeye başvurduğu zaman Visual Basic derleyici bu adı uygun bildirimine başvuru adı eşleşir.Aynı ada sahip birden fazla öğesi bildirilirse, bu öğeler tarafından başvurulacak olduğu kontrol edebilirsiniz uygun adı.
Derleyici adı bildirimiyle adı başvuru eşleştirmeyi dener Dar kapsamı.Bunun anlamı başvuru yapan kod ile başlar ve dışa doğru öğeleri içeren ardışık düzeyleri arasında çalışır.
Aşağıdaki örnek, aynı ada sahip iki değişken başvurular gösterir.Örnek iki değişkeni bildirir, her adlı totalCount, modülü kapsamında, farklı düzeylerde container.Zaman yordam showCount görüntüler totalCount olmadan niteliği, Visual Basic derleyici çözümler bildirimi gibi yerel bildirisinin içinde dar kapsamlı başvuru showCount.Ne zaman niteleyen totalCount içeren modülü ile container, derleyici bildirimi daha geniş kapsamlı başvuru giderir.
' Assume these two modules are both in the same assembly.
Module container
Public totalCount As Integer = 1
Public Sub showCount()
Dim totalCount As Integer = 6000
' The following statement displays the local totalCount (6000).
MsgBox("Unqualified totalCount is " & CStr(totalCount))
' The following statement displays the module's totalCount (1).
MsgBox("container.totalCount is " & CStr(container.totalCount))
End Sub
End Module
Module callingModule
Public Sub displayCount()
container.showCount()
' The following statement displays the containing module's totalCount (1).
MsgBox("container.totalCount is " & CStr(container.totalCount))
End Sub
End Module
Öğe adını nitelemek
Bu arama işlemi geçersiz kılabilir ve bir ad gerekir daha geniş bir kapsamda bildirilen belirtmek isterseniz, nitelemek kapsayan daha geniş kapsam öğesinin adı.Bazı durumlarda, içerildiği öğe ile ilgili olabilir.
Uygun kaynak deyiminizdeki hedef öğe tanımlandığı tanımlayan bilgileri içeren önceki adı anlamına gelir.Bu bilgiler adlı bir Nitelik dize.Birini içerebilir veya daha fazla ad alanları ve bir modül sınıf veya yapı.
Nitelik dize belirsizliğe yer bırakmadan modülü, sınıf veya yapı hedef öğe içeren belirtmeniz gerekir.Kapsayıcı sırayla başka bir içeren öğesinde, genellikle bir ad alanı bulunabilir.Birkaç içeren öğeleri niteliği dizesini yazmanız gerekebilir.
Adını nitelemek tarafından bildirilen bir öğesine erişmek için |
|
Aynı ada sahip birden fazla programlama öğesi uygulamanıza erişimi varsa ad başvurusu alabilmek olabilir.Örneğin, System.Windows.Forms ve System.Web.UI.WebControls her iki ad alanlarını içeren bir Label class (Label ve Label).Uygulamanız her ikisi de kullanıyorsa ya da kendi tanımladığından, Label sınıfı, farklı ayırdetmek Label nesneler.Değişken bildiriminde içe veya ad alanı diğer adını içerir.Aşağıdaki örnek alma diğer adı kullanır.
' The following statement must precede all your declarations.
Imports win = System.Windows.Forms, web = System.Web.UI.WebControls
' The following statement references the Windows.Forms.Label class.
Dim winLabel As New win.Label()
Üyeleri içeren diğer öğeler
Paylaşılmayan bir üyesi başka bir sınıf veya yapı kullandığınızda, bir değişken ya da bir sınıf veya yapı örneğine işaret eden ifade üye adıyla nitelemeniz gerekir.Aşağıdaki örnekte, demoClass adlı bir sınıfın bir örneği olan class1.
Dim demoClass As class1 = New class1()
demoClass.someSub[(argumentlist)]
Değil bir üye alabilmek için sınıf adını kullanamazsınız Shared (Visual Basic).Önce bir nesne değişkenine bir örneği oluşturmanız gerekir (Bu durumda demoClass) ve sonra değişken adı baþvurabilirsiniz.
Bir sınıf veya yapı varsa, bir Shared üyesi, size nitelemek o üyeye sınıf veya yapı adıyla veya bir değişken veya bir örneğinin gösterdiği ifade.
Herhangi bir farklı örnekleri bir modüle sahip değildir ve tüm üyeleri Shared varsayılan olarak.Bu nedenle, Modül adı Modül üyesiyle nitelendirin.
Modül üye yordamlarına tam başvuruları aşağıdaki örnekte gösterilmektedir.İki örnek bildirir Sub yordamlar, hem de adlı perform, bir projenin farklı modüllerde.Her biri kendi modülü içinde nitelik olmadan belirtilen ancak gelen başka herhangi bir yerde başvurulan nitelikli olmalıdır.Son başvuru çünkü module3 nitelemek değil perform, derleyici bu başvurusu çözümlenemiyor.
' Assume these three modules are all in the same assembly.
Module module1
Public Sub perform()
MsgBox("module1.perform() now returning")
End Sub
End Module
Module module2
Public Sub perform()
MsgBox("module2.perform() now returning")
End Sub
Public Sub doSomething()
' The following statement calls perform in module2, the active module.
perform()
' The following statement calls perform in module1.
module1.perform()
End Sub
End Module
Module module3
Public Sub callPerform()
' The following statement calls perform in module1.
module1.perform()
' The following statement makes an unresolvable name reference
' and therefore generates a COMPILER ERROR.
perform() ' INVALID statement
End Sub
End Module
Proje başvuruları
Kullanmak için Public (Visual Basic) başka bir projede tanımlanan öğelerin, önce ayarlamanız gerekir bir başvuru bu projenin derleme veya tür kitaplığına.Başvuru ayarlamak için tıklatın Add Reference , Proje menü veya kullanım /reference (Visual Basic) komut satırı derleme seçeneği.
Örneğin, xml nesne modelini kullanabilirsiniz .NET Framework.Başvuru ayarlarsanız, System.Xml ad alanı bildirmek ve herhangi bir alt sınıfları gibi kullanmak XmlDocument.Aşağıdaki örnek XmlDocument.
' Assume this project has a reference to System.Xml
' The following statement creates xDoc as an XML document object.
Dim xDoc As System.Xml.XmlDocument
Öğeleri içeren içe aktarma
Kullanabileceğiniz Imports Deyimi (.NET Ad Alanı ve Türü) için almak modüller veya kullanmak istediğiniz sınıfları içeren ad.Bu, tam adlarını niteleme olmadan alınan bir ad alanında tanımlanan öğelerin başvurmak sağlar.Aşağıdaki örnek, önceki örnek alınacak yeniden yazar System.Xml ad.
' Assume this project has a reference to System.Xml
' The following statement must precede all your declarations.
Imports System.Xml
' The following statement creates xDoc as an XML document object.
Dim xDoc As XmlDocument
Buna ek olarak, Imports ifadesi tanımlayabilirsiniz bir diğer almak alınan her ad alanı.Bu kaynak kodunu daha kısa ve daha okunur duruma getirebilirsiniz.Aşağıdaki örnek önceki örneği kullanmak için yeniden yazar xD için bir diğer ad olarak System.Xml ad.
' Assume this project has a reference to System.Xml
' The following statement must precede all your declarations.
Imports xD = System.Xml
' The following statement creates xDoc as an XML document object.
Dim xDoc As xD.XmlDocument
Imports Deyimi değil yapmak diğer projelerden öğeleri uygulamanız için kullanılabilir.Diğer bir deyişle, başvuru ayarlama yer almaz.Bir ad alanı yalnızca alma o ad alanında tanımlanan adları niteleme gereksinimini ortadan kaldırır.
Ayrıca Imports modülleri, sınıflar, yapılar ve numaralandırma almak için deyimi.Alınan bu tür öðelere niteliği olmayan üyeleri daha sonra kullanabilirsiniz.Ancak, sınıflar ve yapılar bir değişken veya sınıf veya yapı örneğine değerlendirir bir ifade ile paylaşılmayan üyeleri her zaman nitelemeniz gerekir.
Adlandırma yönergeleri
Aynı ada sahip iki veya daha fazla programlama öğeleri tanımladığınızda bir adlarýn derleyici bir ada başvuru çözümlemeye çalışırken neden olabilir.Kapsam içinde birden fazla bir tanım ise veya hiçbir tanımı kapsamında ise, başvuru irresolvable.Örneğin, "Tam başvuru Example" Bu Yardım sayfasında bakın.
Tüm öğeleri benzersiz adlar vererek adlarýn önleyebilirsiniz.Sonra ad, modül veya sınıf kendi adıyla nitelemeniz gerek kalmadan herhangi bir öğeye başvuru yapabilirsiniz.Ayrıca, yanlışlıkla yanlış öğesine başvuran olasılığını da azaltır.
Gölgeleme
İki programlama öğelerine aynı adı paylaşan, bunlardan birini gizleyebilirsiniz, veya Gölge, diğeri.Gölgeli bir öğe başvurusu için kullanılamaz; Bunun yerine, kodunuzu kullandığında gölgeli öğe adı Visual Basic derleyici giderir, gölgeleme öğesine.Örneklerle birlikte daha ayrıntılı bir açıklama için bkz: Visual Basic'de Gölgeleme.
Ayrıca bkz.
Görevler
Nasıl Yapılır: Proje Özelliklerini ve Yapılandırma Ayarlarını Değiştirme
Başvuru
Imports Deyimi (.NET Ad Alanı ve Türü)
Kavramlar
Bildirilen Öğe Adları (Visual Basic)