Невозможно неявно преобразовать <type>в LFFolder - PullRequest
1 голос
/ 14 сентября 2011

Итак, я пишу тестовый сценарий C # для сервера Laserfiche, и мой код выглядит так:

static void Main()
{
    conn.Create(db);
    LFFolder testdir = db.GetEntryByPath(testdirloc);
    LFDocument test;
    test.Create("test", testdir, vol, true);
    test.Dispose();
    conn.Terminate();
}

Когда я его собираю, мне говорят:

Невозможно неявнопреобразовать тип «объект» в «LFSO82Lib.LFFolder».Существует явное преобразование (вам не хватает актеров?)

Это ужасные новости.Согласно комплекту Laserfiche для интеграторов, LFSO82Lib.LFFolder является объектом LFFolder, а метод GetEntryByPath ("Path") возвращает вам объект LFFolder.Я знаю, что это правда, потому что когда я пишу код, эквивалентный этому, в VB.NET, он работает.

Для тех, кто не знаком с серверами Laserfiche, LFFolder - это просто объект в LFSO82Lib, который, очевидно, можно получить различными GetEntryBy_ _ _ методов, но, очевидно, нет.Может ли кто-нибудь помочь мне с этим?

Ответы [ 2 ]

0 голосов
/ 27 апреля 2015

Вы не разыгрываете возвращенный объект, как указано выше. Метод laserfiche GetEntryByPath () возвращает объект ILFEntry, который может быть объектом LFFolder или LFDocument, поэтому перед загрузкой его в новую переменную необходимо привести объект к нужному типу. Это довольно часто встречается в LFSO с C #.

0 голосов
/ 14 сентября 2011

Попробуйте использовать явное преобразование:

LFFolder testdir = (LFFolder)db.GetEntryByPath(testdirloc);
...