我有一个程序,我想为其提供文件系统的抽象,以便始终针对通过给定工厂获得的给定实现执行用于读取文件、创建目录等的 IO 操作。
例如,您需要访问 MyLib.IO.File 而不是访问 System.IO.File,其中包含系统支持的文件的一组给定操作,并且实际实现将由 IOC 或单例工厂提供.
但是,不熟悉系统的人可能只是引用 System.IO 并开始直接处理文件系统中的文件。如果他的实际配置实例化了标准 System.IO 包装器,那么所有这些都将在他的机器上正常工作,但最终会在底层文件系统更改时中断。
有什么方法可以警告甚至更好地禁止在 VS 应用程序中使用某些命名空间,以便用户知道他不应该使用 .NET 框架的那部分,而是提供另一个库来获得该特定功能?