C# Linq的高级使用

字段初始化

  • 实验了一下,在类空间下不能用方法对字段进行初始化,但是可以用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]);

你可能感兴趣的:(C#)