在Scala中,可以定义基类或特征(接口)密封,以便允许扩展该类的唯一类必须放在同一个类中。
编码库时这是一种有用的模式,在.NET中是否有任何等价物?
答案 0 :(得分:21)
模拟它的唯一方法是在抽象类中使用私有构造函数,并将实现作为嵌套类提供。
实施例
public abstract class Foo
{
private Foo(int k) {}
public class Bar : Foo
{
public Bar() : base(10) {}
}
}