首页 / C# / C#类的属性遍历及属性值获取
C#类的属性遍历及属性值获取
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C#类的属性遍历及属性值获取,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2159字,纯文字阅读大概需要4分钟。
内容图文
![C#类的属性遍历及属性值获取](/upload/InfoBanner/zyjiaocheng/640/6b66f17c9d5b4e37b4acd41b4deacaca.jpg)
1、定义一个类
public class Person
{
public string Name { get; set; }
public int ID { get; set; }
}
2、获取属性
方法一、定义一个类的对象获取
Person p = new Person();
foreach (System.Reflection.PropertyInfo info in p.GetType().GetProperties())
{
Console.WriteLine(info.Name);
}
方法二、通过类获取
var properties = typeof(Person).GetProperties();
foreach (System.Reflection.PropertyInfo info in properties)
{
Console.WriteLine(info.Name);
}
3、通过属性名获取对象属性值
p.Name = "张三";
var name = p.GetType().GetProperty("Name").GetValue(p, null);
Console.WriteLine(name);
4、完整代码及结果显示
var properties = typeof(Person).GetProperties();
foreach (System.Reflection.PropertyInfo info in properties)
{
Console.WriteLine(info.Name);
}
Console.WriteLine("另一种遍历属性的方法:");
Person p = new Person();
foreach (System.Reflection.PropertyInfo info in p.GetType().GetProperties())
{
Console.WriteLine(info.Name);
}
Console.WriteLine("通过属性值获取属性:");
p.Name = "张三";
var name = p.GetType().GetProperty("Name").GetValue(p, null);
Console.WriteLine(name);
Console.ReadLine();
Type t = tc.GetType();//获得该类的Type
//再用Type.GetProperties获得PropertyInfo[],然后就可以用foreach 遍历了
foreach (PropertyInfo pi in t.GetProperties
{
object value1 = pi.GetValue(tc, null));//用pi.GetValue获得值
string name = pi.Name;//获得属性的名字,后面就可以根据名字判断来进行些自己想要的操作
//获得属性的类型,进行判断然后进行以后的操作,例如判断获得的属性是整数
if(value1.GetType() == typeof(int))
{
//进行你想要的操作
}
}
public int Pid
{
get { return pid; }
set { pid = value; }
}
//****************
public void InitialProperty()//初始化设定
{
System.Reflection.PropertyInfo[] properties = this.GetType().GetProperties();
foreach(var v in properties)
{
string type= v.PropertyType.Name;
if (type=="String")
{
v.SetValue(this,"456",null);
}
else if(type=="Bitmap")
{
v.SetValue(this, new Bitmap(Image.FromFile("1.png")), null);
}
}
}
内容总结
以上是互联网集市为您收集整理的C#类的属性遍历及属性值获取全部内容,希望文章能够帮你解决C#类的属性遍历及属性值获取所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。