c# - 当我想将自定义类添加为设置类型时,“类型未定义”
问题描述
我想将此类添加为设置类型:
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; }
}
}
所以我做了什么:
- 在类型下拉框中选择浏览... :
- 我在任何地方都看不到
MY_PROJECT
命名空间: - 所以我手动输入了完整的类型:
结果是一个错误:
Type 'MY_PROJECT.SUB_PROJECT.Configs' is not defined.
我也试过一个SUB_PROJECT.Configs
人Configs
。没有任何帮助。为什么我的课程没有显示在浏览器中?
解决方案
我刚刚遇到了这个问题,这是由于不一致的可访问性错误造成的。确保任何“必需”类型/字段都可以全局访问(公共?)。对于 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...
}
推荐阅读
- php - PHP 根据二维数组值生成动态 HTML
- bootstrap-4 - bootstrap scrollspy 平滑滚动错误目标
- reactjs - 这个反应网络应用程序页脚中的错误在哪里?
- java - 如何证明 HTTP POST 方法不是幂等的?
- php - 根据 Woocommerce 管理订单列表中的付款方式更改背景颜色链接
- ios - 在 UITextField 之外点击时关闭键盘的最佳方法 - IOS
- java - 如何决定哪种设计模式最适合这个概念
- python - 空白被忽略
- node.js - 将 Sequelize 查询中的数据保存为变量中的纯 JavaScript 对象?
- discord.py - Discord.py 从列表中创建角色