首页 > 解决方案 > C# - 如何遍历类中的所有字段并在这些字段上调用方法?

问题描述

所以我最近发现了 c# 中的反射,但我遇到了一个问题。所以我有一个将类作为字段保存的类(所有这些字段都有一个方法reset()),我尝试获取所有字段名称,然后获取它们的类型并调用它们的reset()方法,如下所示:

List<string> fieldnames = new List<string>();
Type t = typeof(AnimationHolder);

foreach(MemberInfo m in t.GetFields())
{
   fieldnames.Add(m.Name);
}

for (int i = 0; i < fieldnames.Count; i++)
{
    Type atype = Type.GetType(fieldnames[i]);
    MethodInfo reset = atype.GetMethod("Reset");
    
    reset.Invoke(type.GetField(fieldnames[i]), null);
}

这只是抛出一个NullReferenceException,我并没有期待太多,但我真的很渴望答案。请帮忙。

标签: c#

解决方案


推荐阅读