ОШИБКА при доступе к объектам, которые наследуются от абстрактных классов в WF4 - PullRequest
0 голосов
/ 13 февраля 2012

Возможно ли, что классы, производные от абстрактного базового класса, не могут использоваться в WF4? У меня есть библиотека, которая определяет несколько классов объектов ... Я могу обращаться к объектам в этой библиотеке очень хорошо, за исключением объектов, которые наследуются от абстрактного класса.

Каждый раз, когда я ссылаюсь на абстрактный класс или любые другие классы в его цепочке наследования, я получаю следующую ошибку: "Обнаружена ошибка (и) компилятора при обработке выражения" cust.DisplayName ". 'Cust' не объявлено. Может быть недоступно из-за уровня защиты."

В этом случае 'cust' является экземпляром класса CustomerAccount, который наследуется от класса AccountEntity (абстрактного), который, в свою очередь, наследует от класса BaseEntity (абстрактного) ...

Я могу сделать следующее в консольном приложении C #, и оно прекрасно работает:

    CustomerAccount cust = new CustomerAccount();
    cust.DisplayName = "John Doh";
    Console.WriteLine("Out Put: " + ((iSvrBaseEntity)cust).DisplayName);
    Console.WriteLine("Entity Type: " + cust.entityType);

Но в конструкторе WF4 мне разрешено создавать экземпляры Cust и мне разрешается назначать другой объект для cust ... но когда я пытаюсь получить доступ к свойству в cust (или назначить значение одному из его свойств) , ошибка возникает.

Кто-нибудь сталкивался с этим? По замыслу WF4 не имеет дело с таким наследованием? Есть ли обходной путь? ...

Спасибо!

1 Ответ

0 голосов
/ 13 февраля 2012

Используемые типы должны быть открытыми, но кроме этого любой нормальный тип .NET должен работать просто отлично.

...