Dim properties = GetType (TestClass) .GetFields (...)
Вы пытаетесь получить свойства, но вы использовали GetFields .Вместо этого используйте GetProperties.
Следующая проблема - передаваемые флаги BindingFlags.Вы запрашиваете частные свойства, но у класса есть только общие свойства.Также включите BindingFlags.Public .
Следующая проблема - тип, который вы передаете GetCustomAttributes (), вы хотите искать CustomAttrib, а не тип класса.
Исправлено:
Dim properties = GetType(TestClass).GetProperties(Reflection.BindingFlags.Instance Or Reflection.BindingFlags.NonPublic Or BindingFlags.Public)
For Each Prop As PropertyInfo In properties
Dim attributes = DirectCast(Prop.GetCustomAttributes(GetType(CustomAttrib), False), CustomAttrib())
If attributes.Length > 0 Then
''get value of custom attribute
End If
Next