C# (.net)类设计问题
我的典型应用程序有几个文本框、复选按钮、单选按钮等等。我总是想在程序启动时加载用户上次使用的设置,还想在用户单击“保存设置”或关闭应用程序时保存设置。当用户试图保存设置时,我必须检查每个控件的输入错误(有时它们必须有一个最大长度,有时只有大写字母,有时还有其他东西,它们都没有规则,每次都不一样),只有在一切正常的情况下,我才让他保存选项。如果出现错误,则不保存任何选项,并且我的errorcontrol提供程序将弹出一个输入类型信息的说明,该信息应放在该控件中 我一直在为我所有的项目从头开始设计这个,但这样做很痛苦。所以我想也许现在是时候去图书馆帮我了。我最初认为,最好是让表单上的所有控件都成为保存/加载过程的一部分,并与它们关联一个属性,比如C# (.net)类设计问题,c#,.net,vb.net,attributes,C#,.net,Vb.net,Attributes,我的典型应用程序有几个文本框、复选按钮、单选按钮等等。我总是想在程序启动时加载用户上次使用的设置,还想在用户单击“保存设置”或关闭应用程序时保存设置。当用户试图保存设置时,我必须检查每个控件的输入错误(有时它们必须有一个最大长度,有时只有大写字母,有时还有其他东西,它们都没有规则,每次都不一样),只有在一切正常的情况下,我才让他保存选项。如果出现错误,则不保存任何选项,并且我的errorcontrol提供程序将弹出一个输入类型信息的说明,该信息应放在该控件中 我一直在为我所有的项目从头开始设计这
public delegate bool InputIsOkHandler();
public class OptionsAttribute : Attribute {
public Control controlRef;
public InputIsOkHandler IsInputOk;
public string errorMessageToShowOnErrorProvider;
public OptionsAttribute(Control controlRef, InputIsOkHandler inputHandler, string errMessage) {
...
}
}
这里的主要问题是,当我在给定变量上声明属性时:
[Options(...)]
TextBox textBox1 = new TextBox();
我去拿
错误1属性参数必须是常量表达式、typeof表达式或属性参数类型的数组创建表达式
所以我想这种方法不是最好的。在这种情况下你们会怎么做?你会使用属性吗?你会使用其他机制吗
谢谢您知道吗.NET从2.0开始就已经包含了这样一个系统了?请看,这是WestWind提供的。您知道吗.NET从2.0开始就已经包含了这样一个系统了?请参阅,这是WestWind提供的。ASP.NET 2.0中支持的个性化设置和用户配置文件可以很好地实现您的目标。
您可以查看这篇MSDN文章以了解概述ASP.NET 2.0中支持的个性化设置和用户配置文件可以很好地实现您的目标。
您可以查看这篇MSDN文章以了解概述您可以将这些括号中的内容发布到Options属性中吗?您收到的错误表明您不正确地使用了属性,但没有理由不能使用它们。问题是构造函数需要初始化对象,而您不能使用属性来初始化对象。您能为选项属性发布括号中的内容吗?您收到的错误表明您不正确地使用了属性,但没有理由不能使用它们。问题是构造函数需要初始化对象,而您不能用属性来初始化。从我在codeproject上读到的内容来看,这正是我想要的。坦克斯!从我在codeproject上读到的内容来看,这正是我想要的。坦克斯!