0

我想将此类添加为设置类型:

using System.Collections.Generic;
using System.Configuration;

namespace MY_PROJECT.SUB_PROJECT
{
    [SettingsSerializeAs(SettingsSerializeAs.Xml)]
    public class Configs: List<ConfigData>
    {
        Configs(int capacity): base(capacity) { }

        public string GroupName { get; set; }
    }
}

所以我做了什么:

  1. 在类型下拉框中选择浏览... :
    在此处输入图像描述
  2. 我在任何地方都看不到MY_PROJECT命名空间: 在此处输入图像描述
  3. 所以我手动输入了完整的类型: 在此处输入图像描述
  4. 结果是一个错误:

    Type 'MY_PROJECT.SUB_PROJECT.Configs' is not defined.
    

    在此处输入图像描述

我也试过一个SUB_PROJECT.ConfigsConfigs。没有任何帮助。为什么我的课程没有显示在浏览器中?

4

2 回答 2

0

我刚刚遇到了这个问题,这是由于不一致的可访问性错误造成的。确保任何“必需”类型/字段都可以全局访问(公共?)。对于 OP 的情况,公开构造函数可以解决问题:

[SettingsSerializeAs(SettingsSerializeAs.Xml)]
public class Configs: List<ConfigData>
{ 
    public Configs(int capacity): base(capacity) { }
  //  ^^
    public string GroupName { get; set; }
}

就我而言,这是问题所在:

internal struct NativeType
{
    //...
}

[SettingsSerializeAs(SettingsSerializeAs.Xml)]
public class NativeTypeWrapper
{
    public NativeType type; // This will not work because NativeType 
                            // is less accessible than NativeTypeWrapper...
}
于 2021-09-16T12:26:09.110 回答
0

为了将某些内容作为参考,您需要将其编译为 dll 文件。在 Visual Studio 中,他们将其称为“库”,它实际上只是一个没有主函数的类。其他选择是将其保留在同一个名称空间中,并将该类拉入您正在处理的任何其他内容中。

于 2018-05-03T17:30:12.103 回答