0

我有一堂课,里面Trigger有一些类型的成员SimpleAction

public SimpleAction OnOver;
public SimpleAction OnOut;
public SimpleAction OnDown;
public SimpleAction OnUp;
public SimpleAction OnClick;
public SimpleAction OnHold;

现在,从另一个班级我正在这样做:

MemberInfo[] members = triggerScript.GetType().GetMembers();
    foreach (MemberInfo item in members) {
            Debug.Log(item.Name);
    }

Trigger在日志按摩中,我可以看到所有班级成员的姓名列表。OnOver、OnOut atc 也在该列表中。但是我怎样才能将 type 成员SimpleAction与其他成员区分开来呢? item.DeclaringTypetham的类型Trigger item.MemberType是“字段”。 item.ReflectedType也是Trigger如何获取SimpleAction类型的成员列表?

4

2 回答 2

2

使用方法,然后使用isGetFields过滤字段FieldTypeSimpleAction

 FieldInfo[] fields = triggerScript.GetType()
            .GetFields(BindingFlags.Public | BindingFlags.Instance)
            .Where(field => field.FieldType == typeof (SimpleAction))
            .ToArray();

 foreach (var field in fields)
 {

 }
于 2012-11-04T05:37:09.507 回答
1

使用 GetFields 而不是 GetMembers,然后您可以根据 .FieldType == typeof(SimpleAction) 进行过滤。

于 2012-11-04T05:33:10.057 回答