程序集,元数据,应用程序域,反射,特定属性

元数据,反射,特定属性

元数据就是一大推表,类型定义表,字段定义表,方法定义表,属性定义表,特制属性表(Custom Attribute).

元数据是.Net Framework 的一个重要基石,反射、特制属性,就是基于元数据的, 当然特制属性是反射的一个应用。

反射其他应用?

反射主要用于FCL的类库中来提供用户更多的功能,一般用户开发的应用程序很少有机会用到反射。

1) 使用Visual Studio 的窗口设计器Desginer 去拖拽一个控件时,它有哪些属性,事件,属性(property)成员,哪些需要显示在designer中(依赖Custom Attribute),都要用到反射去分析元数据来获取这些信息。

2) VS的智能感知特性,鼠标放到类型上会有解释。F12查看一个类型会跳到一个由元数据生成的生命文件中。

3) 序列化/反序列化也用到反射,要序列化一个对象,需要知道这个对象的类型所有字段名字,引用对象等等,还是要借助反射去分析元数据。

4) 特制属性是反射的一个应用。

时间: 2024-11-20 16:16:36

程序集,元数据,应用程序域,反射,特定属性的相关文章

仅反射加载(ReflectionOnlyLoadFrom)的 .NET 程序集,如何反射获取它的 Attribute 元数据呢?

原文:仅反射加载(ReflectionOnlyLoadFrom)的 .NET 程序集,如何反射获取它的 Attribute 元数据呢? 平时我们获取一个程序集或者类型的 Attribute 是非常轻松的,只需要通过 GetCustomAttribute 方法就能拿到实例然后获取其中的值.但是,有时我们仅为反射加载一些程序集的时候,获取这些元数据就不那么简单了,因为我们没有加载目标程序集中的类型. 本文介绍如何为仅反射加载的程序集读取 Attribute 元数据信息. 本文内容 仅反射加载一个程序

java 反射 根据属性 动态设置值

package com.jhl.jvm.lesson8; import java.lang.reflect.Field; /** * * @author jhl * java 反射 根据属性 动态设置值 demo * */ public class ExceptionLog { private String exceptionLogId; private String processingType; private String type; private String content; pub

跟王老师学反射(七)使用反射调用属性

跟王老师学反射(七):使用反射调用属性 主讲教师:王少华   QQ群号:483773664 学习内容 使用反射调用属性 通过Class对象的getFields()|getDeclaredFields()或getField()|getDeclaredField()方法可以获取该类所有包括的全部属性或指定的属性 一.Field类用于猎取类中的属性的方法 (一)getXxx(Object obj) 获取obj对象该Field的属性值,此处Xxx对应8个基本类型. (二)setXxx(Object ob

反射类属性生成DataTable

public class People //类名 { private static string name; //字段 private string sex;//字段 public string Sex //属性 { get { return sex; } set { sex = value; } } public static string Name //属性 { get { return People.name; } set { People.name = value; } } } clas

如何使用Chrome Options 定制测试Chrome 浏览器的特定属性 (类似FirefoxProfiles)

Chrome Options 类似于FirefoxProfiles,用于定制待测试的Chrome 浏览器的特定属性 1)如果希望测试某个浏览器插件,可通过addExtensions方式提前加载以.crx 为扩展名的插件 2)如果希望Chrome 浏览器启动时附带启动参数,可通过addArguments 方式加载 3)如果希望指定机器上特定的某个Chrome 版本运行测试,尤其是同一个台机器上安装了多个不同版本的Chrome 时,可通过setBinary 指定待测试Chrome 示例代码 Chro

使用RecoveryManager Plus恢复全部对象或特定属性

RecoveryManager Plus 微软多年来一直在更新其回收站技术.2012版本拥有GUI功能,提供一种更简单的方法来恢复已删除的活动目录对象.当然,回收站功能不是默认启动项,并且未授权下是不可移动的.但是比起这款工具的大问题,这些都不是小问题. 微软回收站功能的绊脚石是其只适用活动目录对象(用户,组和OUs).对于 Group Policy Objects (GPOs)呢? GPO包含基本配置,以确保用户和电脑的安全性和其它关键设置.如果删除GPO之后,再恢复回来的话,您需要花费数小时

反射获取属性DisplayName特性名字以及属性值

原文:反射获取属性DisplayName特性名字以及属性值 /// <summary> /// 反射获取所有DisplayName标记值 /// </summary> /// <typeparam name="T">实体类型</typeparam> /// <param name="model">需要获取的实体</param> /// <returns></returns>

C# 反射获取属性值、名称、类型以及集合的属性值、类型名称

实体类 class Product { public string Id { get; set; } public string Name { get; set; } public List<ProductDetail> Detail { get; set; } public List<ProductComment> Comment { get; set; } } class ProductDetail { public string DtlId { get; set; } pub

C# 通过反射检查属性是否包含特定字符串

public static bool StringFilter(this object model,string filterStr) { if (string.IsNullOrEmpty(filterStr)) { return false; } var modelType = model.GetType(); if (modelType.IsClass) //先检查是否为类 { foreach (var item in modelType.GetRuntimeProperties()) //