簡體   English   中英

如何在運行時使C#類的屬性覆蓋

[英]How to make property overrides of C# classes during runtime

考慮一些表示某些應用程序數據的C#類。 例如具有一些屬性的class A

public class A
{
    public bool P1 { set; get; }
    public string P2 { set; get; }
    public int P3 { set; get; }
}

此外,我的應用程序具有不同的時間范圍。 假設時間范圍1和2。首先,我的應用程序設置為時間范圍1。在所有時間范圍內都存在A某些實例。 現在,我切換到時間范圍2並為A的某些實例的P2設置一個新值。 新值應僅影響時間范圍2。切換回時間范圍1后, P2應該具有舊值。 切換回時間范圍2P2再次成為新值。

每當我在數據模型中設置任何值時,它都應特定於當前時間范圍,而不影響其他時間范圍。 另一方面,未更改的值應在所有時間范圍內共享。 對於如何表示這些時間范圍沒有任何要求。 可能是一些TimeRange類,但也可能是其他類。

您將如何在C#中設計這樣的方案?

我認為您必須將屬性替換為方法,因為它隨時間范圍而變。 或在可能的情況下將此課程的時間范圍包括在內。

也許您可以使用Tuple<string, string>更改string P2,以便訪問兩個值以切換“模式”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM