属性帮助我们使用类依赖值而不是实例,它们帮助我们携带一些值而不与我们的类有很强的关系。但我发现了一些属性限制。我们无法在运行时更改这些值。所以我正在寻找一种方法来使用类似的属性概念,因为我们已经看到许多示例配置类由流畅的apis而不是属性。你知道这样一个现成的图书馆吗?使用属性概念避免属性限制的替代方法是什么?
答案 0 :(得分:3)
实际上在某些情况下,可以在运行时调整属性 - 例如通过TypeDescriptor
- 但这只会影响ComponentModel的使用,而不会影响反射的使用。您还可以编写属性本身来执行诸如用于i18n目的的resx查找之类的内容。
但其他选择:
任何都可行;哪个最好取决于你的想法。
答案 1 :(得分:0)
插件架构中对属性的良好替换可能是使用智能命名约定。
答案 2 :(得分:0)
也许我错过了一些东西,但是你不能只用你的自定义属性添加带有公共设置器的属性吗?我只是在使用属性的实现上尝试了这个,并且我能够在运行时更改此属性而没有任何问题。
您想要更改哪些值?