Пример #1
0
        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);
                }
            }
        }
Пример #2
0
 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);
         }
     }
 }