我有一个控制台应用程序,我正在从C到C#重建.该应用程序必须能够支持存储信息的传统方法,例如来自命令行的参数和来自定制每次运行的文件(称为系统参数)的参数.系统参数文件是纯文本的,带有一个简单的键:值结构.
我的问题是:
>我应该将这些不同的参数组合到一个Configuration对象中吗?
>如何从代码中调用此配置对象来存储参数?
>我如何从代码中调用此配置对象来检索参数?
>这个对象应该是强类型的吗?
>我将需要从代码中的许多不同位置访问此结构,在不将对象本身传递到任何地方的情况下,检索对象中的值的最优雅方法是什么?
我有一种感觉,它应该是一个强类型的单一对象,它应该是一个实例化的对象,使用静态检索方法从存储库中检索,但我真的想要验证这个方法.
提前致谢
解决方法
我喜欢使用
Settings
.这些可以通过使用“添加新文件”对话框创建“设置文件”或从“项目属性”添加默认设置文件来自动生成.每个设置可以在用户或应用程序范围内,该范围控制用户是否可以更改它们或者它们被限制为其默认值.它们可以使用Save()方法轻松保存,并自动加载到静态Default属性中.
This class seems to be for application or user-based settings. I’m looking for per-run settings. Would you still recommend using this class in that case? – x97mdr
是.如果您同时具有基于用户/应用程序的设置和每次运行设置,则应使用两个不同的类 – 正常(已保存)设置和每次运行设置.只要您不保存每次运行设置,您应该是安全的,并且设置仍然非常容易使用.这些是静态设置.如果同一个应用程序运行需要多个实例 – 这是错误的方法.