Questo codice funziona. La classe orologio ha una property booleana "aOraVisibile" che riesco a impostare mediante reflection.codice:Dim src As String = "~/controlli_utente/orologio/orologio.ascx" Dim c As Control = Me.LoadControl(src) Dim asm As Assembly = Compilation.BuildManager.GetCompiledAssembly(src) Dim t As Type = asm.GetType("orologio") Dim p1 As PropertyInfo = t.GetProperty("aOraVisibile") p1.SetValue(c, False, Nothing) Me.Form.Controls.Add(c)
Il problema nasce quando debbo impostare una property di tipo più complesso, per esempio Label.
In questo caso, il codice di sotto non funziona.
come si potrebbe fare?codice:Dim p2 As PropertyInfo = t.GetProperty("aLabelOrario") Dim l As New Label() l.Font.Size = FontUnit.Point(36) l.ForeColor = Color.Red p2.SetValue(c, l, Nothing)![]()
![]()

Rispondi quotando