我有一個有6個屬性的類,基本上有3對屬性,每對包含一件事的數據。所有這些屬性都是公開的,但設置它們是受保護的。它在下面的代碼所示:如何爲C#中的類中的結構提供不同的保護級別?
public class MyClass
{
public Data1Type Item1Data1 { get; protected set; }
public Data2Type Item1Data2 { get; protected set; }
public Data1Type Item2Data1 { get; protected set; }
public Data2Type Item2Data2 { get; protected set; }
public Data1Type Item3Data1 { get; protected set; }
public Data2Type Item3Data2 { get; protected set; }
}
由於每對屬性的作爲一個項目是基本上處理,我決定做一個結構,其看起來像這樣:
struct Item
{
Data1Type Data1;
Data2Type Data2;
}
所以我取代各對一個Item
結構的屬性。
我現在面臨的問題是,我無法找到一種方法來獲得與之前相同的保護等級,具有3對屬性。我希望MyClass
之外的所有內容都能夠獲得Item
結構中的屬性,但只有MyClass
和從中派生的類才能夠更改Item
結構中的屬性。
我該怎麼做這樣的事情?它甚至有可能嗎?
可變結構是邪惡的。 – Servy