webForumDet fria alternativet

Komma åt property ifrån annan class?

.NET

5 svar · 415 visningar · startad av Travoni

Medlem sedan okt. 20041 556 inlägg
Frågan#1

Jag har en UC med två klasser, en ärver klassen usercontrol (class_dp) och en ärver page (class_pg).
Nu skulle jag i classen som ärver page hämta ett värde satt i en writeonly-property i klassen (class_dp), hur gör jag det?

Public Class class_dp : Inherits UserControl

Public WriteOnly Property targetCtrl() As String
    Set(ByVal value As String)
        tCtrl = value
    End Set
End Property

'...

End Class

Public Class class_pg : Inherits Page
    Dim a as string = [b]värdet ifrån targetCtrl/tCtrl[/b]
End Class
Medlem sedan mars 20023 561 inlägg
#2

Vilka varianter har du provat?

Medlem sedan okt. 20041 556 inlägg
#3

Tja, ett par gissningar
Dim a as string = tCtrl
Dim a as new class_dp.tCtrl
Dim a as tCtrl

Medlem sedan mars 20023 561 inlägg
#4

Sätt en Get i din property.

Public Class class_dp : Inherits UserControl

Public WriteOnly Property targetCtrl() As String
    Set(ByVal value As String)
        tCtrl = value
    End Set
    Get
        return tCtrl
    End Get
End Property
Public Class class_pg : Inherits Page
    Dim c As New class_dp
    Dim a as string = c.targetCtrl
End Class

PS.Länge sedan jag kodade VB.NET, bara C# för min del. ;)

Medlem sedan okt. 20041 556 inlägg
#5

Tnx! :)

En liten avstickare, om jag te.x. vill ta reda på klientens webbläsare i min UC är jag då tvungen att göra det i en klass som ärver Page, eller går det på något annat sätt?

Medlem sedan mars 20023 561 inlägg
#6

Nej, det räcker med System.Web.

HttpContext.Current.Request.UserAgent

Ger Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7

264 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
133 ms — ändringar (db)