>>Passing type works fine (as far as I can test).
>>
>>But if you go back to your original code then surely this will always end up with the object type.:
While loType <> GetType(Object)
>> loType = loType.BaseType
>>End While
Seems to me it should be:
While loType.BaseType <> GetType(Object)
>> loType = loType.BaseType
>>End While
>
>Could it be possible the code I originally got was assuming only one level of sub class to verify with?
Could be. But in that case there would be no point in looping. If the initial BaseType wasn't object then you'd know it was a child class.
>If that is the case, the change you suggested would then work on multiple levels.