C# 在类中反射
分类:
IT文章
•
2022-04-06 19:51:54
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace WindowsFormsApplication1
- {
- public class Contract
- {
- public string employeename { get; set; }
- }
- }
- 1.遍历属性和属性值
- C#代码
- public void EachProperties()
- {
- Contract contract = new Contract { employeename = "Rikas" };
- Type type = contract.GetType();
- System.Reflection.PropertyInfo[] ps = type.GetProperties();
- foreach (PropertyInfo i in ps)
- {
- object obj = i.GetValue(contract, null);
- string name = i.Name;
- }
- }
-
- 2.然还有判断属性类型的,我没有找到更好的方法判断一个累中的属性的类型是不是另一个类,如果有其他方法欢迎评论
- C#代码
- public void EachProperties()
- {
- Contract contract = new Contract { employeename = "Rikas" };
- Type type = contract.GetType();
- System.Reflection.PropertyInfo[] ps = type.GetProperties();
- foreach (PropertyInfo i in ps)
- {
- if (i.PropertyType == typeof(string))
- {
- object obj = i.GetValue(contract, null);
- string name = i.Name;
- }
- }
- }