我有一个 Visual Studio 扩展,其中大部分功能都是通过 MEF 编写的。到目前为止,我的个人功能是 per ITextBuffer
,所以我使用了 Properties 成员来缓存实例。
但是,现在我有一些功能需要每个项目和每个解决方案。EnvDTE 类提供了一个 Properties 对象,但我不知道它们是否可以存储我自己的任意数据。我真的不想让自己的数据静态化。
如何存储每个项目和每个解决方案的数据而不必求助于全局变量?
编辑:
我还可能会提到,由于您不能将 MEF 导入用于静态数据,即使您将其隐藏在单例中,那么使用全局变量路由在物理上也是不可能的。所以我真的,真的需要一些不是全球性的东西。
编辑:
我说的是对象引用,而不是持久值。我不需要在解决方案或项目文件中存储任何内容,只需使用对象即可。