.NET 反射 - 从实例属性获取声明类类型

2023-12-04

是否可以从属性实例获取类的类型

我尝试了以下方法

var model = new MyModel("SomeValueForMyProperty")

Type declaringType = model.MyProperty.GetType().DeclaringType

但结果始终不是 DeclaringType 和 ReflectedType 都适用


没有来自 a 的直接链接Type到声明该类型的属性的类。

你需要使用一个PropertyInfo:

PropertyInfo propInfo = model.GetType().GetProperty("MyProperty");

// get the property value:
object value = propInfo.GetValue(model, null);
// get the property's declaring type:
Type declaringType = propInfo.DeclaringType;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.NET 反射 - 从实例属性获取声明类类型 的相关文章

随机推荐

  • 如何在面板上绘图使其不闪烁?

    这是我的代码 当我将光标移到表单上时 它可以工作 圆圈正在移动但正在闪烁 我怎样才能解决这个问题 public partial class Preprocesor Form int x y Graphics g public Preproc
  • 如何使用斯坦福解析器解析英语以外的语言?在java中,而不是命令行

    我一直在尝试在我的Java程序中使用Stanford Parser来解析一些中文句子 由于我对 Java 和斯坦福解析器都很陌生 因此我使用 ParseDemo java 进行练习 该代码可以很好地处理英语句子并输出正确的结果 然而 当我将
  • 从邮件的 FROM 字段中的 Exchange 用户中提取 SMTP 地址

    我想按域 可能还有用户 组织文件夹中的邮件 我有一个脚本 但它无法从 Exchange 用户获取 SMTP 地址 下面的代码是地址提取器的摘录 For each obj in objFolder Items If obj SenderEma
  • 读取文件时查找文件结尾

    void graph fillTable ifstream fin char X int slot 0 fin open data txt while fin good fin gt gt Gtable slot Name fin gt g
  • 检查两个列表是否共享至少一个元素[重复]

    这个问题在这里已经有答案了 我有两个列表 例如 a mail1 mail2 mail3 mail4 b mail2 mail5 我想检查列表中是否有任何元素b也出现在列表中a 我想知道是否有一种方法 以及它是什么 可以在不使用 for 循环
  • F# 错误“错误 FS0039:命名空间或模块“MySql”未定义”?

    你好 我尝试连接 F 和 MySQL 数据库 但出现以下错误 错误 FS0039 命名空间或模块 MySql 未定义 到目前为止 我尝试引用包含 MySQL Data dll 的文件夹 项目 gt 添加引用 gt 浏览 gt C Progr
  • LDAP 搜索中的 CN、OU、DC 是什么?

    我在 LDAP 中有一个这样的搜索查询 这个查询到底是什么意思 CN Dev India OU Distribution Groups DC gp DC gl DC google DC com CN 通用名称 OU 组织单位 DC 域组件
  • 将 NSString 转换为 NSDate - 格式错误

    您好 我正在尝试将字符串转换为 NSDate 格式 但它返回格式错误的值 并且返回的值也是 GMT 时间 NSString myString 10 30 AM NSDateFormatter dateFormatter NSDateForm
  • 取消Javascript超时

    我在 Web 服务器上托管了一个很长的进程 该事件是通过用户单击按钮从网页触发的 一些 Javascript 通过 Ajax 定期轮询 以检查服务器端操作是否已完成 为此 我使用setInterval 以及稍后clearInterval停止
  • Chrome中如何通过iframe订阅pushManager?

    我可以通过 iframe 注册 Service Worker 当我尝试运行 pushManager subscribe 时 我有 DOMException Registration failed permission denied 此问题仅
  • stdin stdout python:如何重复使用同一输入文件两次?

    我对 Python 很陌生 甚至对 stdin stdout 方法也很陌生 尽管如此 我需要使我的脚本可用于 UNIX 命令 以便可以使用我的脚本一次处理 2 个输入文件 该脚本与命令行参数完美配合 newlist def f1 def f
  • 避免在 ASP.NET MVC 中使用会话状态是一个好习惯吗?如果是,为什么以及如何?

    它没有明确地写在某处 但在阅读了一些关于 ASP NET MVC 的博客后我有这样的感觉 只是好奇 就想在这里问一下 UPDATE 我不是在询问服务器上的内存 存储 RAM 问题 对于他们来说 有一个解决方案可以将会话存储在进程外 我知道
  • WPF MDI 应用程序中的组合根在哪里?

    在传统的 MDI 应用程序中 当命令发生时 例如按下功能区按钮 将创建一些对象 表单 因此它可能是一个组合点 我对此类应用程序中的组合根感到困惑 我在某处读到我们可以使用视图模型定位器看起来像服务定位器图案 如您所知 服务定位器模式受到了一
  • 用户定义的异常是受控异常或非受控异常

    在我的 Web 应用程序中创建了一个用户定义的异常 它扩展为 Exception 它是已检查还是未检查的异常 public class InvalidDataException extends Exception public Invali
  • 我想在 UIAlertView 上显示 UIProgressView

    我想在 UIAlertView 上显示 UIProgressView 以显示文件上传的处理情况 但我搜索了太多 也找到了该链接 但仍然无法做到这一点 我不明白这个 如果有人知道最简单的方法 请告诉我 我在执行此操作时遇到了问题 最终得到了以
  • CSS3 微调器、预加载器

    我想用 CSS3 构建一个动画旋转器 它的行为应该像这样 在最后一个状态之后 它应该像第一个状态一样重新开始 我设法使用此处解释的技术创建圆圈 堆栈溢出问题 现在 怎样才能我在所描述的状态之间设置旋转器的动画 我不知道如何为剪辑矩形属性设置
  • IllegalArgumentException:从视图加载位图时宽度和高度必须 > 0

    我正在尝试使用 ImageViewTouch 这是一个支持捏缩放的库 我可以使用 Canvas 在图像上绘图 但是当我缩放图像时 绘图会消失 为此 我尝试将视图转换为位图并为同一视图设置 theImageBitmap 这是代码 mImage
  • Chrome 自动填充会导致文本字段标签和值的文本框发生冲突

    在 React 中 自动完成 Chrome 值不会立即触发 onChange 事件 因此 在页面初始加载期间 它会导致 MUI TextField Label 和实际值发生冲突 我该如何解决这个问题 尝试了多种方法 InputLabelPr
  • 在元素中创建响应式对角线

    不确定这是否可行 但是如何创建一条从元素左上角到右下角的 1px 对角线 无论该元素的宽度和 或高度如何 您可以通过多种方式做到这一点 1 背景图片 1 1 SVG 您可以直接创建 svg 作为内联代码并使用它来绘制线条 使用它你可以实现漂
  • .NET 反射 - 从实例属性获取声明类类型

    是否可以从属性实例获取类的类型 我尝试了以下方法 var model new MyModel SomeValueForMyProperty Type declaringType model MyProperty GetType Declar