/// <summary> /// Adds support for parsing types derived from _requiredBaseType_ by using reflection to interpret their fields. /// All field types used within these types must also have layouts available from the LayoutManager. /// </summary> /// <param name="layouts"></param> /// <param name="enabledDefines"> /// The set of defines that can be used to enabled optional fields decorated with the IfAttribute /// </param> /// <param name="requiredBaseType"></param> /// <returns></returns> public static LayoutManager AddReflectionTypes(this LayoutManager layouts, IEnumerable <string> enabledDefines, Type requiredBaseType) { layouts.AddLayoutProvider((type, layoutManager) => GetTStructLayout(type, layoutManager, enabledDefines, requiredBaseType)); return(layouts); }
/// <summary> /// Adds support for reading types derived from Pointer<,> /// </summary> public static LayoutManager AddPointerTypes(this LayoutManager layouts) { layouts.AddLayoutProvider(GetPointerLayout); return(layouts); }
public static LayoutManager AddEnumTypes(this LayoutManager layoutManager) { layoutManager.AddLayoutProvider(GetEnumLayout); return(layoutManager); }