public ClassTypeDrawer(Type type) { Type = type; var validFunc = type.GetCustomAttribute <ValidFuncAttribute>(); if (validFunc != null) { ValidMethod = type.GetMethod(validFunc.Name); } BaseTypeDrawer = DrawerCollector.CreateDrawer(type.BaseType); var fields = type.GetFields(); foreach (var field in fields) { if (field.DeclaringType != type) { continue; } var fieldDrawer = FieldDrawer.Create(field); if (fieldDrawer != null) { Fields.Add(fieldDrawer); } } }
public StructTypeDrawer(Type type) { BaseTypeDrawer = DrawerCollector.CreateDrawer(type.BaseType); foreach (var field in type.GetFields()) { if (field.DeclaringType != type) { continue; } var fieldDrawer = FieldDrawer.Create(field); if (fieldDrawer != null) { Fields.Add(fieldDrawer); } } }