Rakstot VB.Net (vai arī jebkurā citā citā OO programmēšanas valodā, izvēloties attiecīgus programmēšanas līdzekļus), ir vērts klasēm, par kuru “pareizību” neesi pilnībā pārliecināts, pievienot NotInheritable atslēgas vārdu. Tas nodrošinās to, ka klase nebūs mantojama. Savukārt citiem tavas klašu bibliotēkas lietotājiem būs vieglāk saprast, kuras klases ir izmantojamas par bāzes klasēm viņu aplikācijās.
Category: .NET pasaule
VB.net koda izskaistināšana
Mazliet par VB.Net un glītāku kodu.
Ja jāveido klase, kurai ir daudz atribūtu (property) un tiem visiem nepieciešamas set un get metodes, tad izvedojas milzīgi garš kods, kurš sastāv gandrīz tikai no
Public Property Name() As String
Get
Name = scName
End Get
Set(ByVal Value As String)
scName = Value
End Set
End Property
Un tā daudzas reizes. Šis kods gandrīz nekad nav jāmaina un nav arī nepieciešams to bieži apskatīt. VB.Net development IDE piedāvā iespēju “collapsēt” katra atsevišķa property kodu. Bet diemžēl IDE šo informāciju nesaglabā un, nākamo reizi atverot šīs pašas klases koda failu, atkal ieraugām gāaaaru palagu ar atribūtiem. Toties, ja izvedo atsevišķu reģionu ar atribūtiem, tad tā stāvoklis saglabājas arī pie faila aizvēršanas. Attiecīgi kodā rakstāmGet
Name = scName
End Get
Set(ByVal Value As String)
scName = Value
End Set
End Property
#Region "Klases properties"
Public Property Name() As String
Get
Name = scName
End Get
Set(ByVal Value As String)
scName = Value
End Set
End Property
#End Region
Public Property Name() As String
Get
Name = scName
End Get
Set(ByVal Value As String)
scName = Value
End Set
End Property
#End Region
vb.? un xml
Lai nerastos iespaids, ka VB draudzējas ar XML standartu tikai sākot ar VB7(VB.net), pastāstīšu, ka arī VB6 ir ļoti labi māk saprasties ar XML lietām. Jā, arī Excel VBA, Access VBA un viss pārējais.
Ja pieliekam projekta referencēs, piemēram, bibliotēku “Microsoft XML, version 2.0”, tad pieejams gandrīz tas pats iespēju klāsts, kas VB.net. Piemēram, vienkārša XML string ielasīšana.
Dim oXMLDoc As New DOMDocument
Dim oXMLNodeList As IXMLDOMNodeList
Dim oXMLNode As IXMLDOMNode
Dim sTestString As String
sTestString = "<DzivniekuSaraksts>" & _
"<dzivnieks tips = ‘Kaķis’ vecums = ‘1’ />" & _
"<dzivnieks tips = ‘Suns’ vecums = ‘2’ />" & _
"</DzivniekuSaraksts>"
oXMLDoc.loadXML (sTestString)
Set oXMLNodeList = oXMLDoc.getElementsByTagName("dzivnieks")
For Each oXMLNode In oXMLNodeList
MsgBox (CStr(oXMLNode.Attributes.getNamedItem("tips").Text) & _
vbCrLf & _
CStr(oXMLNode.Attributes.getNamedItem("vecums").Text & vbCrLf))
Next
Tieši tāpat, kā VB.net, arī šeit pastāv iespēja dokumentu ielādēt, izmantojot URI shēmu. To nodrošina XMLHTTPRequest klase.
Dim oXMLNodeList As IXMLDOMNodeList
Dim oXMLNode As IXMLDOMNode
Dim sTestString As String
sTestString = "<DzivniekuSaraksts>" & _
"<dzivnieks tips = ‘Kaķis’ vecums = ‘1’ />" & _
"<dzivnieks tips = ‘Suns’ vecums = ‘2’ />" & _
"</DzivniekuSaraksts>"
oXMLDoc.loadXML (sTestString)
Set oXMLNodeList = oXMLDoc.getElementsByTagName("dzivnieks")
For Each oXMLNode In oXMLNodeList
MsgBox (CStr(oXMLNode.Attributes.getNamedItem("tips").Text) & _
vbCrLf & _
CStr(oXMLNode.Attributes.getNamedItem("vecums").Text & vbCrLf))
Next
WinForms
Tiešām ļoti sakarīga lapa par darbu ar windows formām. Daudzas atbildes uz tiem jautājumiem, ar kuriem nākas saskarties.