我有一个数据服务,我可以通过字符串键检索值,如下所示:
serviceObject.GetValue("some.key.name");
这些调用发生在许多应用程序使用的共享组件中。我想在应用程序启动时立即知道可以请求的不同密钥的集合。
我的第一个想法是创建一个属性,定义特定方法/类使用哪些键,并让应用程序扫描其目录中的所有dll并检查这些属性。在编译时可以验证属性和实际方法使用之间的一致性,但我还没有那么远。
有没有更好的方法来实现这一目标?是否存在允许编译器确定解决方案中的所有方法用法并使用键生成文件或将其作为元数据嵌入到程序集中的机制?