字段初始化 实验了一下,在类空间下不能用方法对字段进行初始化,但是可以用Linq而且这些初始化后的字段内容可以显示到面板上 IReadOnlyDictionary<string, Type> types = (from assembly in AppDomain.CurrentDomain.GetAssemblies () from type in assembly.GetTypes () where type.IsSubclassOf (typeof (VFXAction)) let attribute = type.GetCustomAttribute<EffectActionAttribute> (false) select (attribute.showName, type)).ToReadOnlyDictionary (p => p.showName, p => p.Item2); 反射创建实例 item.action = (VFXAction)Activator.CreateInstance (types[item.effectType]); 判断继承关系 IsSubClassOf用来比较一个类是否是另一个类的子类a.IsAssignableFrom(c) c的实例是否可以赋予A类型,可以用来判断接口也可以用来判断类