Próbuję utworzyć bibliotekę klasy z funkcją konwersji liczb całkowitych binarnych na denary i na odwrót, tak, że mogę zaimportować ją do innego projektu bez konieczności przepisywania tej funkcji. Działa dobrze, oto część klasy:VB.NET - Rozszerzenie funkcji w klasie?
Public Class BinaryDenary
Public Shared Function ToBinary(ByVal DenaryNumber As Integer) As Integer
Dim Binary As String = ""
While DenaryNumber > 0
If DenaryNumber Mod 2 = 1 Then
Binary = 1 & Binary
Else
Binary = 0 & Binary
End If
DenaryNumber \= 2
End While
Return CInt(Binary)
End Function
End Class
Przetestowałem to w ramach projektu i działa dobrze.
ToBinary(3) 'Returns 11
ToDenary(110) 'Returns 6
jednak - głównie ze względów estetycznych - Chciałbym, aby móc używać go jak metodę rozszerzenia, tak, że mogę wziąć zmienną i wykonaj następujące czynności:
NormalInt.ToBinary(3)
ale mogę nie pisz metod rozszerzenia wewnątrz klasy. Czy jest jakiś sposób na zrobienie tego? Nie jest to bardzo ważne, ale lubię stosować metody rozszerzeń, gdzie mogę.
Co to jest obszar nazw? Moduł? Czy importuję go w ten sam sposób, w jaki importuję klasę? – Lou
Przestrzenie nazw to inny sposób na uporządkowanie kodu, przeczytaj o tym tutaj [Rozumienie złożenia i przestrzeni nazw] (http://msdn.microsoft.com/en-us/library/ms973231.aspx) Moduł jest logicznym zbiorem kodu wewnątrz zespół, przeczytaj o tym tutaj [Co to jest moduł w .NET?] (http://stackoverflow.com/questions/645728/what-is-a-module-in-net) –
Więc, aby wyjaśnić: I powinien napisać funkcje w ramach nowego modułu w osobnej przestrzeni nazw? A czy powinien to być osobny plik .vb? – Lou