首页 新闻 搜索 专区 学院

获取实体类字段或属性名

0
悬赏园豆:5 [已解决问题] 解决于 2013-05-27 17:17

比如,实体类:

 public class Student

{ public int ID;

  public string Name

}

Student entity=new Student();

string fieldName=getFieldName(entity.Name);

我想得到 Name这个名称,不是它的值,应该怎么写呢?(没园豆了,抱歉)

king2003的主页 king2003 | 初学一级 | 园豆:161
提问于:2013-02-04 10:58
< >
分享
最佳答案
0

我已经解决了,谢谢各位。

king2003 | 初学一级 |园豆:161 | 2013-05-25 11:39
其他回答(7)
0

反射可以解决:

User u1 = new User();
            PropertyInfo[] ps = u1.GetType().GetProperties();

            foreach (PropertyInfo info in ps)
            {
                Console.WriteLine(info.Name);
            }
public class User
     {

         public string Name { get; set; }

         public string Address { get; set; }
     }
chenping2008 | 园豆:9836 (大侠五级) | 2013-02-04 11:03

我是要传入字段或属性名,来获取它的名字,我不想一个一个遍历,就算遍历了,也是把所有输出来,还不确定遍历到了哪个,刚好是我要的。

支持(0) 反对(0) king2003 | 园豆:161 (初学一级) | 2013-02-04 11:09

@king2003: 我是要传入字段或属性名,来获取它的名字   

都知道名字了,还要获取名字????

支持(0) 反对(0) chenping2008 | 园豆:9836 (大侠五级) | 2013-02-04 11:11

啊啊

支持(0) 反对(0) M i S s | 园豆:78 (初学一级) | 2013-05-27 18:08

@chenping2008: 

哦哦

支持(0) 反对(0) M i S s | 园豆:78 (初学一级) | 2013-05-27 18:14
0

反射!

Book entity = new Book();
Type type = entity.GetType();
System.Reflection.PropertyInfo[] member = type.GetProperties();
MessageBox.Show(member[0].ToString());

dotnetgeek | 园豆:482 (菜鸟二级) | 2013-02-04 11:03

我是要传入字段或属性名,来获取它的名字,我不想一个一个遍历,就算遍历了,也是把所有输出来,还不确定遍历到了哪个,刚好是我要的。

支持(0) 反对(0) king2003 | 园豆:161 (初学一级) | 2013-02-04 11:09
0

你传入字段或属性名,来获取他的名字,那你干嘛还传入???

顾晓北 | 园豆:10215 (专家六级) | 2013-02-04 11:29
0

确定要传入属性名了,还要获取属性名,为何?

风也无奈 | 园豆:22 (初学一级) | 2013-02-04 15:29
0
While蹒跚学步... | 园豆:59 (初学一级) | 2013-03-01 10:26
0
View Code
using System;
using System.Collections.Generic;
using System.IO;
using System.Reflection;
using System.Text;
using System.Threading;
using System.Xml;

namespace ConsoleApplication3
{
    class Test
    {
        static void Main()
        {
            Test t = new Test();
            string s = t.GetFP("Address");
            Console.WriteLine(s);
        }

        public string GetFP(string getfp)
        {
            User entity = new User();
            PropertyInfo[] pi = entity.GetType().GetProperties();
            foreach (PropertyInfo info in pi)
            {
                if (info.Name.ToString() == getfp)
                {
                    return info.Name.ToString();
                }
            }
            return "No this string";
        }
    }

    public class User
    {
        public string Name { get; set; }
        public string Address { get; set; }
    }
}

在1楼的基础上改的。

收获园豆:5
beyondchina | 园豆:680 (小虾三级) | 2013-03-26 15:52
0

哦哦

M i S s | 园豆:78 (初学一级) | 2013-05-27 18:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册