9

我在我的 .NET 项目中使用 Settings 类。我在编辑器中注意到,只有某些类型可用作设置类中各个属性的类型。例如,如果我想拥有一个来自我的代码或通用集合的枚举属性怎么办?我将如何实施?

我猜我可以使用部分类机制在单独的文件中执行此操作(因为设置已被定义为部分类)但我想看看是否有人同意这一点,以及是否有办法在其中做到这一点编辑。

4

5 回答 5

11

创建一个新的“设置”文件以添加复杂/用户定义的选择类型。这是枚举的操作方法。

步骤 1。创建设置文件

替代文字

步骤 2。浏览类型

替代文字

步骤 3。选择类型(命名空间.TypeName)

替代文字

第 4 步。达达 - 完成

替代文字

于 2009-03-03T00:28:32.487 回答
4

要让自定义类显示在该列表中,请确保它具有默认构造函数作为其构造选项之一。我经过惨痛的教训才学到这个

于 2009-09-23T18:30:15.803 回答
2

要回答 Jeffrey 关于在设置文件中是否可以使用通用列表的评论/问题,答案是肯定的。您只需手动编辑设置 xml 文件。例如,如果我有以下课程:

public class UrlAlias
{
    public string Name { get; set; }
    public string BaseUrl { get; set; }
}

我可以通过右键单击我的设置文件并选择打开方式来创建这些列表。

然后选择 XML / Text Editor,并将“Type”值设置为完全限定的类名,即:

Type="System.Collections.Generic.List`1[MyProject.SomeNamespace.UrlAlias]"

完整的设置 xml 如下所示:

<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="MyProject.Properties" GeneratedClassName="Settings">
 <Profiles />
  <Settings>
    <Setting Name="UrlAliases" Type="System.Collections.Generic.List`1[CommonAddin.Data.DataSource.UrlAlias]" Scope="User">
      <Value Profile="(Default)"></Value>
    </Setting>
  </Settings>
</SettingsFile>

完成此操作后,您应该拥有您创建的自定义设置对象的正确配置列表。

于 2011-12-23T23:09:11.477 回答
0

作为部分类的一部分在单独的文件中执行此操作是完全可以接受的。

于 2009-03-02T18:54:49.887 回答
0

如果您希望能够通过配置文件填充复杂的对象,我建议使用一些依赖注入框架 sa Spring.Net。

于 2009-03-02T18:55:11.977 回答