是否可以指定封闭类可以访问嵌套类的成员,而不是其他类?
这是问题的一个例子(当然我的实际代码有点复杂......):
public class Journal
{
public class JournalEntry
{
public JournalEntry(object value)
{
this.Timestamp = DateTime.Now;
this.Value = value;
}
public DateTime Timestamp { get; private set; }
public object Value { get; private set; }
}
// ...
}
Run Code Online (Sandbox Code Playgroud)
我想阻止客户端代码创建实例JournalEntry,但Journal必须能够创建它们.如果我将构造函数Journal设为public,那么任何人都可以创建实例......但如果我将其设为私有,则无法执行!
请注意,JournalEntry该类必须是公共的,因为我希望能够将现有条目公开给客户端代码.
任何建议将不胜感激!
更新:感谢大家的意见,我最终选择IJournalEntry了私人JournalEntry课程实现的公共界面(尽管我的问题是最后一个要求......)