限制类对某些方法的访问(例如,向控制台写入)
本文关键字:例如 控制台 访问 方法 | 更新日期: 2023-09-27 18:02:36
是否有一种方法可以限制类或类对象对某些功能的访问(例如向控制台写入)?
我目前有一个主控制台项目,它从控制台写入和读取。它还加载各种.dll库文件(如小程序)并使用它们的方法。
我想知道是否有一种方法可以使这些.dll程序集请求许可或限制它们直接访问控制台的输入/输出,并通过例如类中介器/管理器来实现。
说有人正在为我的项目写一个扩展(小程序)。我不希望它自由地写入我的控制台应用程序。
注:我的问题不一定只适用于控制台应用程序。
我建议您编写自己的CustomConsole,以避免任何人使用它。由于最初的控制台是标准的,并且内置在操作系统本身中,所以控制它的唯一方法就是Sinatr告诉你的。然后他们又可以打开它。如果你使用的是自己的控制台,你就不用担心谁在里面写东西了。之后,你总是可以将标准控制台管道到你的"管理器",以便过滤消息,保留你想要的,删除其他的。
对于最初的问题。我不知道有什么方法可以防止一个类使用其他类的方法。这只会使外部代码变得不稳定。我强烈建议您使用一些跟踪工具并扫描外部库所做的调用,以便了解它们使用了什么(在绝对不应该调用特定方法的情况下)。如果外部代码不适合您的程序,请避免使用它。