Belki de sorunun adı uygun değildir, çünkü bir modüldeki yöntemler gölgelenemez, ancak özünde tekrar beyan eden bir temel üyeye gölge düşürmek ve onu arama fırsatını kaybetmeden gizlemek istiyorum. uygun değer.Modülde Object.Equals() yöntemi nasıl kullanılır?
Normalde ben Sınıflar için bunu:
<EditorBrowsable(EditorBrowsableState.Never)>
Public Shadows Function Equals(ByVal obj As Object) As Boolean
Return MyBase.Equals(obj)
End Function
Ve bu Yapıları için:
<EditorBrowsable(EditorBrowsableState.Never)>
Public Shadows Function Equals(ByVal obj As Object) As Boolean
Return Object.Equals(obj, Me)
End Function
Bir modül ile bu davranışı yeniden oluşturmaya çalışırken bulmak sorun, ben doldurmak için kullanması gereken budur Aşağıdaki örnekte bulunan sorgulama argümanı, Me
'u kullanamadığımdan, modülün adını veya yapıcısını kullanamıyorum, anlıyorum, ama ne kullanmam gerekiyor?
Module TestModule
<EditorBrowsable(EditorBrowsableState.Never)>
Public Function Equals(ByVal obj As Object) As Boolean
Return Object.Equals(obj, ?)
End Function
End Module
o ne işe yarayacaktır ki olsa iyi tasarım gibi görünmüyor? – Plutonix
@Plutonix Yorumlarınız için teşekkürler. Nedeni sadece tasarım için, ben çok kaprisli desiging sınıflarıyım, Sınıflarımın bir Equellisense otomatik tamamlama kutusunu, Equals veya ReferenceEquals gibi çoğu senaryoda asla kullanmayacağım temel yöntemleri kullanmadan görmek istiyorum, bunları tasarım için saklıyorum, ama onları verimlilik için arama yeteneğini kaybetmek istemiyorum. – ElektroStudios
Bunun işe yarayıp yaramadığını bilmiyorum, ama bu VB Modülü konsepti oldukça fazla bir IDE zorlaması. Geçerli çözümün bir parçası olmayan bir sınıf kitaplığında (dll) ' 'öğesini uygularsanız," Paylaşılan "üyelerinin bir VB Modülündeymiş gibi görüneceğini görürsünüz. . –
TnTinMn