Beispiel #1
0
 /// <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);
 }
Beispiel #2
0
 /// <summary>
 /// Adds support for reading types derived from Pointer<,>
 /// </summary>
 public static LayoutManager AddPointerTypes(this LayoutManager layouts)
 {
     layouts.AddLayoutProvider(GetPointerLayout);
     return(layouts);
 }
Beispiel #3
0
 public static LayoutManager AddEnumTypes(this LayoutManager layoutManager)
 {
     layoutManager.AddLayoutProvider(GetEnumLayout);
     return(layoutManager);
 }