通过特性动态获取属性及值
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Data;
using System;
namespace NPetshop.Domain
{
/***************************************************************************
*
* 功能: product实体类
* 作者: 李伟伟
* 日期: 2011-5-28
* 描述: 11111111111111111111111111
* *************************************************************************/
[Serializable]
public class productEntity
{
#region 属性
/// <summary>
/// 获取或设置Id字段的值 自增列 System.Int32
/// 数据库类型长度:int 大小:4 精度:10
/// </summary>
[Column("Id")]
public System.Int32 Id{get; set;}
/// <summary>
/// 获取或设置Name字段的值 System.String
/// 数据库类型长度:varchar 大小:50
/// </summary>
[Column("Name")]
public System.String Name{get; set;}
/// <summary>
/// 获取或设置UserId字段的值 System.Int32
/// 数据库类型长度:int 大小:4 精度:10
/// </summary>
[Column("UserId")]
public System.Int32 UserId{get; set;}
#endregion
#region 构造函数
/// <summary>
/// 构造函数
/// </summary>
/// <param name="name">Name</param>
/// <param name="userId">UserId</param>
public productEntity(System.String name,System.Int32 userId)
{
this.Name = name;
this.UserId = userId;
}
/// <summary>
/// 构造函数
/// </summary>
public productEntity()
{
this.Name = null;
this.UserId = 0;
}
#endregion
}
}
//特性
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
namespace NPetshop.Domain
{
/// <summary>
/// 将类的属性与数据库表中的列相关联。
/// </summary>
[AttributeUsage(AttributeTargets.Property)]
public sealed class ColumnAttribute : System.Attribute
{
/// <summary>
/// 获取或设置列的名称。
/// </summary>
public string ColumnName { get; private set; }
/// <summary>
/// 获取或设置列的标题。
/// </summary>
public string ColumnCaption { get; private set; }
/// <summary>
/// 获取或设置列的类型。
/// </summary>
public SqlDbType ColumnType { get; private set; }
/// <summary>
/// 初始化 MagicStar.Entity.ColumnAttribute 类的一个新实例。
/// </summary>
/// <param name="columnCaption">表或视图的标题。</param>
/// <param name="columnName">表或视图的名称。</param>
/// <param name="columnType">类型。</param>
public ColumnAttribute(string columnName, string columnCaption, SqlDbType columnType)
{
ColumnName = columnName;
ColumnCaption = columnCaption;
ColumnType = columnType;
}
/// <summary>
/// 初始化 MagicStar.Entity.ColumnAttribute 类的一个新实例。
/// </summary>
/// <param name="columnCaption">表或视图的标题。</param>
/// <param name="columnName">表或视图的名称。</param>
/// <param name="columnType">类型。</param>
public ColumnAttribute(string columnName)
{
ColumnName = columnName;
}
}
}
///实现
productEntity _roductEntity = new productEntity();
_roductEntity.Id = 1;
_roductEntity.Name = "2";
Type type = _roductEntity.GetType();
PropertyInfo[] properties = type.GetProperties();
foreach (PropertyInfo property in properties)
{
Response.Write(type.GetProperty(property.Name).GetValue(_roductEntity, null));
Response.Write(property.Name + "");
}
通过特性动态获取属性及值相关推荐
- struts2原理分析之反射技术动态获取属性
反射技术动态获取属性 知道struts2的流程的乡亲们都知道.struts2采用了动态获取属性的方法, 将表单里的数据传给了Action. 例如; 在struts2里有如下配置文件 <actio ...
- 跨域 · 后台设置:头部header(服务器端添加属性、属性值,浏览器端获取属性及其值) - 数据篇
跨域 · 后台设置:头部header自定义属性 (服务器端添加属性.属性值,浏览器端获取属性及其值) headers 服务端配置 # For more information on configura ...
- Spring注解@Value获取属性文件值且解决在controller无法获取到值的问题
一.说到@Value注解,用过的应该都知道,这是Spring3的一个注解,通过@value注解的方式获取properties文件中的配置值,大大简化了我们读取配置文件的代码 首先必须要配置proper ...
- Android 主题切换(theme),语种切换,动态获取自定义属性(attr)值
Google提供的更换主题包方法参考: https://source.android.google.cn/devices/architecture/rros?hl=zh-cn https://www. ...
- PropertyGrid 绑定动态的属性与值的集合
建立下面3个类: XProp XPropDescriptor XProps 建立Class XProp XProp 就是用户将具体使用的属性.PropertyGrid 很炫的一点就是属性的定制可以有很 ...
- 使用C#中的反射从字符串获取属性值
我正在尝试在代码中使用Reflection 1示例实现数据转换 . GetSourceValue函数具有比较各种类型的开关,但是我想删除这些类型和属性,并让GetSourceValue仅使用单个字符串 ...
- Java中怎样使用反射根据属性名获取和设置属性的值
场景 在某管理系统中需要对一月中的每天进行设置某个状态 对应的实体类的属性为 分别为d1 d2 一直到第31号.前端传递到后台的是d1 d2 d3等实体类对应的属性和要设置的状态的字段. 怎样将这些属 ...
- 通过反射获取属性以及属性的值
已经通过反射获取到 Class 对象了,接下来开始获取属性 属性的英文是 Field,所以获取属性的集合方法就是 getFields(): 这里有一个知识点: getField 和 getDeclar ...
- vue设置img大小的属性_Vue.js自定义标签属性并获取属性,及绑定img的src属性的坑...
一.定义属性: 一般定义属性都是为了动态的去获取属性的值,或者动态的设置属性的值,如果想仅仅是设置一个普通的属性,直接在便签上设置属性即可,就像使用html的title.name等属性一样,如 H1标 ...
最新文章
- Introduction to Automata Theory, Languages, and Computation部分习题解答
- python通过hive transform处理数据
- 一步一步学Ruby(二十一):文件操作2
- 用画小狗的方法来解释Java中的值传递
- android定位会出现的问题,android – 使用GPS_PROVIDER进行定位时出现问题
- 想象力比知识更重要——专访首位吴文俊人工智能最高成就奖得主陆汝钤
- localStorage、sessionStorage本地存取Object 对象 - 代码篇
- linux c语言 文件拷贝,怎么在linux下用c编程实现文件的复制
- AJAX设置光标离开自动提交,Ajax自动提交和刷新页面
- 用户登入验证码代码示例
- 安卓开发-开发环境搭建
- 算法——排序——归并排序图解动画
- php框架laravel下载,Laravel框架下载,安装及路由操作图文详解
- golang 获取本周 上周的时间
- 猫抓 浏览器插件安装教程,适用Chrome浏览器和Edge浏览器
- 【教学类-07-04】20221113《破译电话号码-加减法版+自制(PDF打印)》(大班主题《我要上小学》)
- 集运转运系统源码,快递物流一件代付系统源码
- 机器学习数据集!CV、NLP 一应俱全
- python3 urllib 内存泄露_【专家专栏】张昊 | 从urllib2的内存泄露看python的GC
- SEO上下线营销思维:二者兼备实现“落地”
热门文章
- 良好的编码风格 java_关于java:编码风格是否遵循良好做法
- 矩形键盘 linux,基于ARM的矩阵键盘设计及其linux驱动实现
- ArcGIS API For Javascript :如何动态生成 token 加载权限分配的地图服务?
- Helper Devise: could not find the `Warden::Proxy` instance on request environment
- Apache本地环境部署
- Activity-数据状态的保存
- 由Net Applications的浏览器的市场份额想开的
- Solr单机安装Version5.5.2
- Ranger-Sqoop2插件安装
- 浏览器弹窗怎么设置显示url_谷歌浏览器Chrome76版本地址栏不显示HTTPS和WWW怎么办?...