Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Коллекция Fields в DAO / 9 сообщений из 9, страница 1 из 1
14.12.2020, 17:59
    #40027727
Коллекция Fields в DAO
Объясните пожалуйста, почему здесь коллекция Fields - это Fields,
Код: c#
1.
2.
var tabDef = dbs.CreateTableDef("tb1");
tabDef.Fields.Append(tabDef.CreateField("Id", DataTypeEnum.dbInteger));


а здесь - Object, и приходится прибегать к касту?
Код: c#
1.
2.
var idx = tabDef.CreateIndex($"idxtb1"); // или Index idx, что унипенисуально
(idx.Fields as Fields).Append(idx.CreateField("Id"));


Только пожалуйста не спрашивайте почему DAO. Потому что :(
...
Рейтинг: 0 / 0
14.12.2020, 18:40
    #40027745
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Коллекция Fields в DAO
потому что в первом случае свойство возвращает типизированный объект коллекция полей, а во втором просто объект.
Код: c#
1.
2.
if(idx.Fields is Fields)
(idx.Fields as Fields).Append(idx.CreateField("Id"));
...
Рейтинг: 0 / 0
14.12.2020, 18:50
    #40027748
Коллекция Fields в DAO
Может быть я неясно выразился. Это предельно очевидно, почему тип такой присваивается переменной. Но почему так было необходимо делать? В чём смысл того, что у таблицы коллекция полей - Fields, а у индекса - object?
...
Рейтинг: 0 / 0
14.12.2020, 20:01
    #40027759
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Коллекция Fields в DAO
гомодиализ, у объекта Index свойство Fields, по-видимому, может быть Empty (предположение, я не проверял, в справке не написано ничего по этому поводу) потому и Variant. А в c# object.
...
Рейтинг: 0 / 0
14.12.2020, 20:29
    #40027767
Коллекция Fields в DAO
Индекс без полей? Логично! Но и таблица же тоже может быть без полей.
...
Рейтинг: 0 / 0
14.12.2020, 21:36
    #40027781
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Коллекция Fields в DAO
гомодиализ
.... Но и таблица же тоже может быть без полей.
Может быть Вы такую можете создать
...
Рейтинг: 0 / 0
14.12.2020, 21:39
    #40027782
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Коллекция Fields в DAO
незаполненной(пустой) может,а без полей..
...
Рейтинг: 0 / 0
14.12.2020, 22:13
    #40027787
Коллекция Fields в DAO
А индекс?
...
Рейтинг: 0 / 0
15.12.2020, 01:37
    #40027815
Коллекция Fields в DAO
В интернетах примеры просто бодро создают индекс и добавляют в коллекцию полей новые. Как они умудряются это делать?

Код: c#
1.
2.
var idx = tabDef.CreateIndex("pk_tb1");
(idx.Fields as Fields).Append(idx.CreateField("Id")); // колется по Object reference is not set...



(idx.Fields as Fields) == null

idx.Fields является __ComObject и не кастится. Как они просто берут и вызывают метод Append() на нём?
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Коллекция Fields в DAO / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]