2012-02-13 48 views
0

從WF4中不能使用派生自抽象基類的類嗎?我有一個庫定義了幾個對象類......我可以很好地訪問該庫中的對象,除了從一個抽象類繼承的對象之外。訪問從WF4中的抽象類繼承的對象的錯誤

每次我引用抽象類或任何其他類中繼承鏈時,得到下面的錯誤:。 「編譯錯誤(S)遇到處理表達‘cust.DisplayName’‘卡斯特’未聲明它由於其保護級別,可能無法訪問。「

在這種情況下,「卡斯特」是從AccountEntity(抽象)類這反過來從BaseEntity(抽象)類繼承繼承CustomerAccount類的實例...

我可以做以下一個C#控制檯應用程序,它工作得很好:

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

但在WF4設計師,我被允許實例卡斯特和我被允許指定另一個目的是卡斯特...但是當我嘗試訪問一個屬性(或爲其中一個屬性賦值,發生錯誤)

有沒有人遇到過這個? WF4是否在設計上不涉及這種繼承?有沒有解決方法?...

謝謝!

回答

0

使用的類型需要公開,但除此之外,任何常規的.NET類型都應該工作得很好。

+0

謝謝!我只是嘗試將相同的代碼移動到新的工作流程,並且工作正常。奇怪的是,我仍然在改變包含這些對象的類庫之後修改的現有工作流程中出現該錯誤。我時不時地注意到,如果我重新開始或使用不同的工作流等,我會在WF4中遇到這些奇怪的錯誤,這些錯誤神祕地解決了它們。它通常發生在ENUMS上,儘管如果我更改Enum定義並引用它在流程圖切換中,它將永不再工作。這是正常的嗎? – maevvamgr 2012-02-13 19:37:27