C# 反射属性值和遍历属性名

using UnityEngine;
using System.Collections;
using System;
using System.Reflection;

public class Test1 : MonoBehaviour {

	// Use this for initialization
	void Start () {
        Test test = new Test();
        test.one = "555";
        test.two = 444;
        test.three = 20;

        print(  GetObjectPropertyValue<Test>(test,"three"));
	}
	
	// Update is called once per frame
	void Update () {
	
	}

    public static string GetObjectPropertyValue<T>(T t, string propertyname)
    {
        Type type = typeof(T);
        //获取所有属性名
        //PropertyInfo[] pInfos = type.GetProperties();
        //for (int i = 0; i < pInfos.Length; i++)
        //{
        //    Debug.Log("属性名:"+pInfos[i].Name);
        //}
        //end
        PropertyInfo property = type.GetProperty(propertyname);
        Debug.Log(property);
        if (property == null) return string.Empty;

        object o = property.GetValue(t, null);

        if (o == null) return string.Empty;

        return o.ToString();
    }
}



必须得写get;set;

using UnityEngine;
using System.Collections;

public class Test  {
    private string _one;
    public string one
    {

        get { return _one; }

        set { _one = value; }

    }

    private int _two;
    public int two
    {

        get { return _two; }

        set { _two = value; }

    }

    public int three{get;set;}

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值