2016-04-23 87 views
0

繼承的屬性我已經在單獨的項目/組件基類等不能訪問對象

public class Shape 
{ 
    public int myTestproperty { get; set; } 
} 

然後創建另一個項目包括在創建的項目形狀類成分/ DLL和創建另一個類和繼承與形狀該類類像

public class Rectangle : Shape 
{ 
    public int getArea() 
    { 
     return (width * height); 
    } 
} 

,然後當我在同一個項目中創建Rectangle類的對象像

Rectangle Rect = new Rectangle(); 

我不能訪問諸如

Rect.myTestproperty =1; 

我的基類屬性可以有一個人告訴我,我怎麼可以訪問我的基類屬性?

+4

你確定'Rectangle:Shape'中的'Shape'與'public class Shape'中的'Shape'相同嗎?在「矩形:形狀」中將光標移動到「形狀」上並按下「F12」。 – dotctor

+0

您是否嘗試過構建解決方案並檢查問題是否得到解決? – dotctor

+0

是的,按F12按基類定位,但記得我的基類是在其他項目中 – Agahii

回答

0

而不是嘗試不必要的解決方案,您應該使用Shape類的完全限定參考。所以試試這個:public class Rectangle:myNamespace.Shape。其中myNamespace是所需DLL中的命名空間。我保證這會解決你的問題。公共屬性沒有辦法隱藏,除非您專門創建設計器類並刪除該屬性,或者在屬性上應用以下屬性:[可瀏覽(false),EditorBrowsable(EditorBrowsableState.Never)] 如果使用場景I如上所述,那麼只有反射可以幫助你。

+0

這是我的代碼https://bitbucket.org/ZFAS/test 在單元測試項目我想訪問屬性 – Agahii