Ну, неясно, является ли это only проблемой, но мне это кажется неправильным:
for (int i = 0; i < AVClass.AV_CLASS_PROPERTIES; i++)
{
avClass.Properties[i] = new AVProperty((AVProperty.PROPERTY_ID)i, fields[i]);
results.Add(avClass);
}
Вы добавляете одну и ту же ссылку (avClass
) в свой список результатов для каждого поля . Я подозреваю, что вы хотите поставить этот Add
вызов после цикла.
Кроме того, вы не показали, что такое AVProperty.PROPERTY_ID
, но вам нужно убедиться, что часть запроса SELECT соответствует этому. Предположительно это перечисление ... поэтому вам нужно, чтобы значение перечисления, соответствующее "bas. [BAS BACnet Object Type / Instance]", имело значение 0 и т. Д.
(Если вы можете дать больше соответствующего кода, мы можем помочь вам больше. Я также настоятельно рекомендую вам пройтись по своему коду и сделать свои имена более понятными и идиоматический. .NET не использует SHOUTY_CAPS для имен.)
Дополнительно:
- Вы не используете операторы
using
для каких-либо объектов, которые должны быть расположены
- Вы игнорируете значение, возвращаемое из
GetValues
.