0

Triggertype のいくつかのメンバーを持つクラスがあり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 もそのリストに含まれています。しかし、タイプのメンバーを他のメンバーから分離するにはどうすればよいSimpleActionでしょうか? tham の「フィールド」 item.DeclaringTypeのタイプです。もです。 タイプのメンバーリストを取得するにはどうすればよいですか?Trigger item.MemberTypeitem.ReflectedTypeTriggerSimpleAction

4

2 に答える 2

2

メソッドを使用してからis でGetFieldsフィールドをフィルタリングします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

GetMembers の代わりに GetFields を使用すると、.FieldType == typeof(SimpleAction) に基づいてフィルター処理できます。

于 2012-11-04T05:33:10.057 に答える