无法将类型“System.Reflection.PropertyInfo”转换为

2024-02-11

我正在尝试使用反射来迭代我的类之一中的所有属性:

public MDInstrument() : base()
    {
        PropertyInfo[] properties = typeof(MDInstrument).GetProperties();

        foreach (PropertyInfo item in properties)
        {
            var tick = item as TickData;
        }
    }

当我检查 var 属性时,我可以正确地看到所有属性

但在线:

 var tick = item as TickData;

我收到错误:

ADDITION

您好,感谢您的反馈。我并不是想获得价值。代码在构造函数中。我正在尝试循环类中的对象,如果它们的类型为“TickData”,那么我想将它们添加到列表中。我通过尝试使用 as 关键字进行转换来做到这一点。我肯定错过了什么。


你需要使用PropertyInfo.GetValue https://msdn.microsoft.com/en-us/library/b05d59ty(v=vs.110).aspx,这将给出该值,然后您可以将其转换为您想要的类型。

 private static void GetPropertyValues(Object obj)
   {
      Type t = obj.GetType();
      Console.WriteLine("Type is: {0}", t.Name);
      PropertyInfo[] props = t.GetProperties();
      Console.WriteLine("Properties (N = {0}):", 
                        props.Length);
      foreach (var prop in props)
         if (prop.GetIndexParameters().Length == 0)
            Console.WriteLine("   {0} ({1}): {2}", prop.Name,
                              prop.PropertyType.Name,
                              prop.GetValue(obj));
         else
            Console.WriteLine("   {0} ({1}): <Indexed>", prop.Name,
                              prop.PropertyType.Name);

   }

对于转换,您可以使用转换.更改类型 https://msdn.microsoft.com/en-us/library/ms130977(v=vs.110).aspx

Convert.ChangeType(number, typeof(int))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法将类型“System.Reflection.PropertyInfo”转换为 的相关文章

随机推荐

  • 雾化T的.Net Collection?

    我正在寻找是否有一个预先存在的 Net 哈希集类型 实现适合原子化一般类型 T 我们有大量相同的对象用于序列化源 需要原子化以节省内存 A Dictionary
  • union '双关语'结构带有“公共初始序列”:为什么 C (99+) 而不是 C++ 规定了“联合类型的可见声明”?

    背景 通过以下方式讨论类型双关的大多数非或实现定义的性质union通常引用以下位 此处通过 ecatmur https stackoverflow com a 31557852 2757035 https stackoverflow com
  • Angular 2 - 警告/提示的表单验证

    我正在尝试添加不会使表单无效的表单验证 验证应仅显示为警告 例如 年龄验证 年龄大于 90 表示警告 年龄大于 120 表示错误 我已经尝试过在表单上使用两个 FormGroup 并在输入字段上使用两个 formControl 仅使用第一个
  • 正确管理addObserverForName:object:queue:usingBlock:

    我对 Objective C 中的块仍然很陌生 想知道我的伪代码是否正确 我不确定仅删除观察者是否足够 或者是否必须调用removeObserver name object void scan Scanner scanner Scanner
  • 使用 Powershell 将 EBS 卷附加到 Windows EC2 [关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 我看到很多关于在 Linux 上添加 EBS 卷的问题得到了解答 但在 Windows 上却没有 假设您发现磁盘空间不足 可能通过 C
  • 带通配符的 spring

    我想从多个位置加载键值对 我的第一个猜测是
  • 仅使用 JavaScript 的递归 HTML 表格树

    我开发了单击父节点来显示其子行 我只需要启用单击子数据即可将其子子行作为递归树或表树打开 有人可以添加你的逻辑来帮助我理解并帮助其他人吗 document getElementById products addEventListener c
  • 气流日志文件不存在:

    Airflow 在几周内工作正常 但突然开始出现几天错误 Dags 会因此错误而随机失败 日志文件不存在 airflow path 1 log获取自 http 8793 airflow path 1 log 无法从工作人员获取日志文件 对
  • Patentsview API Python 3.4

    我是Python的初学者 目前正在使用Python开发一个小项目 我想为 Patentsview org 的专利研究构建一个动态脚本 这是我的代码 import urllib parse import urllib request http
  • Android:带有链接链接的可点击 TextView

    我的布局中有一个 TextView 它在 XML 中设置了一个属性 clickable true 这是为了让它表现得像一个带有文本和图标的按钮 现在 我通过调用 HTML fromHtml 添加到 TextView HTML 文本 然后应用
  • 支持样式标签的 HTML Sanitizer for .NET

    我正在寻找一个好的 HTML 清理程序以在 ASP NET 项目中使用 问题是清理程序必须支持样式属性 这些属性可能包含 CSS 属性 这些属性也必须被清理 到目前为止我还没有找到一个好的产品可以使用 在我硬着头皮写自己的消毒剂之前 我想我
  • 在不能抛出的地方抛出NullPointerException

    我在一段无法抛出 NullPointerException 的代码中得到一个 NullPointerException 我开始认为在 JRE 中发现了一个错误 我使用javac 1 8 0 51作为编译器 问题出现在jre 1 8 0 45
  • 在 Electron process.stderr 中未定义

    我正在尝试在我的 Electron 应用程序中使用 sqlite3 nodejs 插件 我在加载 sqlite3 模块时遇到错误 查看崩溃的堆栈跟踪 我发现 sqlite3 有多个依赖项 其中之一是日志库 npmlog 该库尝试从以下位置初
  • Google Glass:执行“点击”事件或类似的事件

    请看下面的代码
  • 在 ES6 中如何调用我的类的父类的父类的构造函数?

    我正在使用 ES6 类 我的类 A 扩展了类 B 类 B 扩展了类 C A 如何扩展一个方法 然后调用该方法的 C 版本 class C constructor console log class c class B extends C c
  • 如何在 SQL Server Express 表中保存 QTime 并读取它?

    我在 SQL Server Express 中有一个包含字段的表name varchar 10 and timeVar time我想保存 a 的值QTime变量在time field 这是我尝试过的 QTime time QTime cur
  • 无法按名称激活工作表

    我试图在打开电子表格时根据当前月份激活每月工作表 问题出在脚本末尾 无法选择工作表 看起来getSheetByName gets a null值 不被接受setActiveSheet function selectmonth var now
  • 搜索大量大文本的最快方法

    我有一个用 C 编写的 Windows 应用程序 需要从数据库加载 250 000 行 并提供 键入时搜索 功能 这意味着只要用户在文本框中键入内容 应用程序就需要搜索所有 250 000 条记录 其中顺便说一句 单列 每行 1000 个字
  • 使用 Box2D 制作角色动画的最佳方法是什么?

    我正在为 Android 开发一款 2D 水下动作角色扮演游戏 使用 Box2D 作为物理引擎 主要用于碰撞检测 碰撞响应以及游戏角色在由墙壁 岩石和其他生物组成的环境中的移动 我尝试了两种不同的方法来使用 Box2D 实现角色动画 但都发
  • 无法将类型“System.Reflection.PropertyInfo”转换为

    我正在尝试使用反射来迭代我的类之一中的所有属性 public MDInstrument base PropertyInfo properties typeof MDInstrument GetProperties foreach Prope