假设我有一个知道如何制作Square的Factory类.如果我觉得只有Factory类知道如何制作一个正方形并且我想阻止其他人(即使在同一个程序集中)创建一个正确的(如果有这样的东西)那么方法呢?
根据您的具体情况,您可以这样做:
public class Square
{
// Only Square and classes nested within it can call this
private Square()
{
}
public class Factory
{
public Square CreateSquare()
{
return new Square();
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后:
Square.Factory factory = new Square.Factory();
Square square = factory.CreateSquare();
Run Code Online (Sandbox Code Playgroud)