У меня есть класс ниже, я извлек все свойства в Интерфейс, но мне кажется, что я не могу его извлечь ... Очевидно, создать новый объект, такой как
ITestItem item = new TestItem();
не дает мне доступа к Properties, которая является экземпляром класса Meta.
Я также хотел, чтобы кто-нибудь не позволил создать экземпляр класса Meta за пределами TestItem ... Я попытался пометить его как внутренний, но это позволило бы мне, потому что свойства общедоступны.
Также я не уверен, нужен ли мне интерфейс для 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
Я обновил класс выше, чтобы включить внутренний конструктор для Meta, чтобы его нельзя было создать вне класса.
Вот мой интерфейс, который у меня есть (как подсказал Джидди) ... Теперь он говорит, что не реализует Свойства
public interface ITestItem
{
bool Enabled { get; set; }
Meta Properties { get; set; };
List<int> Items { get; set; }
}