2011-05-05 31 views
5

移除類的屬性是否有可能從類在運行時刪除屬性,如:如何在運行時

public Class A 
{ 
    public int num1 {get;set;} 
    public int num2 {get;set;} 
    public int num3 {get;set;} 
} 

Class A Obj = new A(); 

在運行時我想從obj刪除num2。可能嗎?

+0

要刪除的內容稱爲屬性,而不是屬性。 – 2011-05-05 07:08:15

+1

不,這是不可能的,所以你應該問一下你試圖完成的是什麼,而不是詢問你認爲可以用來解決它的方法。 – Guffa 2011-05-05 07:15:40

+0

你究竟想在這裏做什麼?您確定要完全刪除num2屬性(打破使用它的所有其他代碼?)。或者,你可能只是不想讓它出現在intellisense中? – MattDavey 2011-05-05 07:51:00

回答

6

這是無法完成的。一旦編譯完成,就會設置類定義。

1

正如其他人所說,這是不可能的。

相反,您可以添加其他屬性,例如

public List<string> ignoredProperties {get; set;} 

然後在運行時添加num2該名單,並檢查是否你應該忽略的屬性。

0

您必須使用Model/ViewModel方法。創建一個ViewModel,它將根據您的需求具有有限的屬性。