【发布时间】:2013-03-25 22:04:55
【问题描述】:
我已经定义了一些设置,并计划在我的 VS 2008 C# WPF 项目中定义更多。我知道可以在设计时通过设置设计器在项目中指定设置。我也知道可以在运行时检索和设置设置。我想做的是能够访问其他程序集和项目的设置。
如果不编写新类,我不明白如何做到这一点。由于设置类是在我的根命名空间中定义的,因此我无法在不创建循环引用的情况下直接从其他程序集中访问设置(如果您尝试添加对已经引用该项目的项目的引用,则会发生这种情况)。有没有办法传递属性而不必创建具有完全相同属性定义的重复类?
【问题讨论】:
-
很可能,正确和最好的方法是创建一个包含属性定义的类。见en.wikipedia.org/wiki/Data_transfer_object
-
我不明白你的问题。命名空间与可访问性没有任何关系,因为您可以添加
using语句来导入命名空间,或者只提供完全限定的命名空间global::Some.Namespace.Path.MySettingsClass.SomeSettingsProperty。 -
你的意思是不是程序集而不是命名空间?
-
@RobertHarvey - 谢谢。你可能是对的。我没有看到任何其他方式。
-
@Dai - 我尝试了使用 global 语句的建议,但如果不指定引用,它将无法工作。 Intellisense 没有显示任何其他程序集或命名空间,当我尝试指定一个时,它产生了错误 - 在全局命名空间中找不到类型或命名空间名称(您是否缺少程序集引用?)
标签: c# properties namespaces