利用Type类来获得字段名称(Unity C#中的反射)

使用Type类以前需要引用反射的命名空间:

using System.Reflection;

以下是完整代码:

public class ReflectionDemo : MonoBehaviour
{
    void Start()
    {
        A a = new A();
        B b = new B();

        A[] abArray=new A[] { a, b };

        foreach(A v in abArray)
        {
            Type t = v.GetType();
            Debug.Log("Object type : " + t.Name);

            FieldInfo[] fi = t.GetFields();
            foreach(FieldInfo f in fi)
            {
                Debug.Log("Field : " + f.Name);
            }
        }
    }
}

class A
{
    public int AField = 0;
}

class B : A
{
    public int BField = 0;
}

输出结果:

利用Type类来获得字段名称(Unity C#中的反射)_第1张图片

你可能感兴趣的:(Unity技术,c#,开发语言)