在C#中怎么通过类名访问类的属性
来源:互联网 发布:优化方案系列丛书 编辑:程序博客网 时间:2024/04/29 16:25
如果我有一个拥有FirstName的属性的类Perso,我能通过如下方式访问:
Person.FirstName = "Mike";
能通过下面的方式来访问吗
Person["FirstName"]="Mike";
通过反射类来实现,但是这种方法性能比较低。
publci class YourClass
...{
//...
public object this[string name]
...{
get
...{
PropertyInfo info = this.PropertyInfoByName(name);
return info.GetValue(this,null);
}
set
...{
PropertyInfo info = this.PropertyInfoByName(name);
info.SetValue(this,value,null);
}
}
private PropertyInfo PropertyInfoByName(string name)
...{
Type type = this.GetType();
PropertyInfo info = type.GetProperty(name);
if (info == null)
...{
throw new Exception(String.Format("对象{0}的属性{1}不能被访问 .", type.FullName, name));
}
return info;
}
//...
}
...{
//...
public object this[string name]
...{
get
...{
PropertyInfo info = this.PropertyInfoByName(name);
return info.GetValue(this,null);
}
set
...{
PropertyInfo info = this.PropertyInfoByName(name);
info.SetValue(this,value,null);
}
}
private PropertyInfo PropertyInfoByName(string name)
...{
Type type = this.GetType();
PropertyInfo info = type.GetProperty(name);
if (info == null)
...{
throw new Exception(String.Format("对象{0}的属性{1}不能被访问 .", type.FullName, name));
}
return info;
}
//...
}
- 在C#中怎么通过类名访问类的属性
- 在C#中怎么通过类名访问类的属性
- 在C# 编程中通过类名动态创建实例
- C#中怎么通过IP访问数据库?
- 在类中封装属性名
- 在url中通过属性名获取属性值
- JAVA在子类中访问父类的私有属性
- 浅谈C#类成员的访问属性
- C# 利用反射,遍历获得一个类的所有属性名,方法名,成员名.
- 通过java反射技术访问类中私有成员属性
- 获取C#对象中调用属性的属性名
- 在Mybatis中,解决数据库字段名与java实体类属性名不一致的三种方式
- 数据库中,如何通过表名获取表的字段名(属性名)?
- 为何private属性不能在子类中通过名字访问的理由
- 通过json字符串传对象集合,在js中访问对象的属性
- C#动态获取类的属性名和值
- C#中通过Type类访问数据类型信息
- C#中通过Type类访问数据类型信息
- 小型FTP项目
- 正則表達式(二)
- Window.Open详解
- 线程
- 仿基因编程的核心思想。为了大家阅读方便,把仿基因的核心概括一下
- 在C#中怎么通过类名访问类的属性
- 健康喝水
- Effective C++之32
- 监控系统
- 用Intel C++ Compiler 9.1编译STLPort5.1
- 硬盘数据恢复实例全解
- Java中实现图片裁剪
- BPEL研究(3):BPEL和WFMC
- 正则表达式使用详解