gpt4 book ai didi

.net - 除了定义的 'factory class' 之外,如何防止对象被实例化?

转载 作者:行者123 更新时间:2023-12-03 23:46:11 25 4
gpt4 key购买 nike

简而言之,我想防止在对象工厂类中指定的静态方法之外的任何地方实例化对象。

这可能吗?

最佳答案

如果您的工厂和类在同一个程序集中,您可以将构造函数标记为内部。这将使程序集之外的任何类都不能调用构造函数(没有反射)。您的工厂在同一个程序集中,将构造函数视为公共(public)的,因此可以访问它们。

或者,您可以将构造函数设为私有(private),并在您的工厂中使用反射来实例化对象。您使用反射会受到一点影响,但这没有程序集限制,还可以防止同一程序集中的其他类使用工厂以外的任何东西。

关于.net - 除了定义的 'factory class' 之外,如何防止对象被实例化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1792476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com