PropertyInfo. GetValue () “Объект не соответствует целевому типу”.

Я думаю, вы можете использовать <'col>, спасибо, вы можете раскрасить весь столбец.

Я даю вам ссылку на синтаксис: https://html.com/tags/col/

.

7
задан casperOne 26 April 2012 в 11:45
поделиться

2 ответа

Me относится к ObjectCompare объект, который отличается, чем класс от который PropertyInfo объекты были получены (Class2). Необходимо также передать в объекте типа, от которого Вы получили PropertyInfo объекты.

Public Sub CompareObjects(ByVal It as Object)
    Dim property_value As Object

    For i As Integer = 0 To OriginalObject.Length - 1
        If OriginalObject(i).GetIndexParameters().Length = 0 Then
            Dim propInfo As PropertyInfo = OriginalObject(i)

            Try
                property_value = propInfo.GetValue(It, Nothing)
            Catch ex As TargetException
            End Try   
        End If
    Next
End Sub

go.CompareObjects(test)
21
ответ дан 6 December 2019 в 08:17
поделиться

Я не действительно уверен, что знаю то, что Вы пытаетесь сделать здесь, но у меня будет удар в нем.

Вот код, что я подошел:

Вызов:

        Dim test As New Class2
        test.NewProperty2 = "2"


        Dim go As New ObjectCompare
        go.CompareObjects(test)

Класс:

Public Class Class2
    Private newPropertyValue2 As String

    Public Property NewProperty2() As String
        Get
            Return newPropertyValue2
        End Get
        Set(ByVal value As String)
            newPropertyValue2 = value
        End Set
    End Property
End Class

Сравните:

 Public Class ObjectCompare

    Public Sub CompareObjects(ByVal MyType As Object)

        For Each Prop In MyType.GetType().GetProperties()
            Dim value = Prop.GetValue(MyType, Nothing)
            Console.WriteLine(value)
        Next
        Console.ReadLine()
    End Sub
End Class
1
ответ дан 6 December 2019 в 08:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: