public ProtoFileGenerator(TypeSchemaGenerator typeSchemaGenerator, IPropertyNumberer propertyNumberer, Func <PropertyInfo, bool> propertyFilter = null) { Args.ThrowIfNull(typeSchemaGenerator); Args.ThrowIfNull(propertyNumberer, nameof(propertyNumberer)); TypeSchemaGenerator = typeSchemaGenerator; PropertyNumberer = propertyNumberer; OutputDirectory = ".\\Generated_Protobuf"; PropertyFilter = propertyFilter ?? ((p) => true); }
public ProtocolBufferType(Type type, IPropertyNumberer propertyNumberer, Func <PropertyInfo, bool> propertyFilter) { TypeName = type.Name; List <ProtocolBufferProperty> props = new List <ProtocolBufferProperty>(); type.GetProperties().Where(propertyFilter).Each(new { List = props, Type = type }, (ctx, p) => { ctx.List.Add(new ProtocolBufferProperty(p, propertyNumberer.GetNumber(ctx.Type, p))); }); Properties = props.ToArray(); }
public DaoProtocolBuffersAssemblyGenerator(IPropertyNumberer propertyNumberer) : base(new DaoProtoFileGenerator(propertyNumberer)) { }
public DaoProtoFileGenerator(TypeSchemaGenerator typeSchemaGenerator, IPropertyNumberer propertyNumberer) : base(typeSchemaGenerator, propertyNumberer, (pi) => pi.HasCustomAttributeOfType <ColumnAttribute>()) { }
public DaoProtoFileGenerator(IPropertyNumberer propertyNumberer) : this(new TypeSchemaGenerator(), propertyNumberer) { }