Przekazuję różne obiekty do podprogramu w celu uruchomienia tego samego procesu, ale za każdym razem za pomocą innego obiektu. Na przykład w jednym przypadku używam ListView, aw innym przypadku przekazuję DropDownList.Jak sprawdzić, czy obiekt jest określonego typu?
Chcę sprawdzić, czy przekazywany obiekt to DropDownList, a następnie wykonać kod, jeśli jest. Jak mam to zrobic?
Mój kod, który do tej pory nie działa:
Sub FillCategories(ByVal Obj As Object)
Dim cmd As New SqlCommand("sp_Resources_Categories", Conn)
cmd.CommandType = CommandType.StoredProcedure
Obj.DataSource = cmd.ExecuteReader
If Obj Is System.Web.UI.WebControls.DropDownList Then
End If
Obj.DataBind()
End Sub
Dzięki za odpowiedź. Próbowałem tego kodu, ale w rzeczywistości jedyną rzeczą jest to, że nie działa z operatorem "=". Musiałem zmienić to na "Jest". Błąd, który miałem, gdy był "=", brzmiał "Operator" = "nie jest zdefiniowany dla typów" System.Type "i" System.Type "." – Leah
@Leah: Tak, przepraszam za to. Wygląda na to, że powinienem zacząć zwracać więcej uwagi podczas pisania odpowiedzi. 'TypeOf' jest prawdopodobnie jeszcze prostszą opcją, przynajmniej pod względem czytelności kodu; Zaktualizowałem też odpowiedź na ten przykład. –
Dzięki, że działa też – Leah