下面我有一個班,我已經提取的所有屬性的接口,但我似乎不能夠提取它......顯然創建一個新的對象像C#:提取到一個接口裏面有另一個類的類 - 或者有更好的方法嗎?
ITestItem item = new TestItem();
不給我訪問屬於Meta類實例的屬性。
我也想阻止任何人在TestItem之外創建一個Meta類的實例......我試圖將它標記爲內部,但是那樣會允許我,因爲屬性是公共的。
另外我不確定我是否需要有一個META接口?
這是我的課...任何人都可以幫忙嗎?
public class TestItem : ITestItem
{
public bool Enabled { get; set; }
public Meta Properties = new Meta();
public List<int> Items { get; set; }
public class Meta
{
internal Meta
{
}
public string Name { get; set; }
}
public TestItem()
{
this.Items = new List<int>();
}
}
EDIT 我已uppdated上述類以包括用於元的內部構造,因此它不能在類外被實例化。
這裏是我的界面我有(由頭暈的建議)......現在說,它沒有實現屬性
public interface ITestItem
{
bool Enabled { get; set; }
Meta Properties { get; set; };
List<int> Items { get; set; }
}
你要求在你的界面中有一個屬性,但實現一個字段。我更新了我的答案。 – gideon 2011-03-24 11:32:29