2013-10-30 27 views
0

我想有一個構造函數中Object X回報Object X Base ClassLoad方法,然後再將數據從Load方法返回Object X,我無法弄清楚如何做這個。這是我有什麼,我認爲會的工作:有一個對象方法返回自己的一個實例來調用對象

public class ObjectX : BaseClass { 
    public int testProperty {get; set;} 

    public ObjectX(Guid id) { 
     base.Load(id); 
    } 
} 

public class BaseClass { 
    public Load(Guid id) { 
     var dbData = // Loads ObjectX from db 
     return dbData; 
    } 
} 

當我完美運行這段代碼的數據加載,但不會指派任何東西Object X。 dbData正確加載testProperty,但是當它傳遞到ObjectX時,所有數據都會消失。我覺得我缺少一些簡單的東西。

回答

1

這是不可能的。構造函數不能覆蓋自己。

想一想:

dbData是什麼類型?

如果它不是ObjectX類型,則不能將其分配給ObjectX的實例。

如果是ObjectX類型,則需要在某個地方構造它,然後會產生無限循環。

您可以做的是從數據庫加載數據,然後手動將數據複製到您的屬性中。

+0

我試圖避免這種情況,但是哦。感謝您的快速回答。 – coryrwest

相關問題