public StatementBuilder AddCreator(FieldGenerator to, ParamBuilder parameters) { Expressions.Add( new CodeAssignStatement( new FieldTarget(to).Expression, new CodeObjectCreateExpression(to.Member.Type, parameters))); return this; }
public MethodReturnField(FieldGenerator field) { Member = new CodeMemberMethod() { Name = "Get" + field.Name, Attributes = MemberAttributes.Public }; var returnStatement = new CodeMethodReturnStatement(); Member.ReturnType = new CodeTypeReference(field.FieldType); Member.Statements.Add(returnStatement); var fieldReference = new CodeFieldReferenceExpression(new CodeThisReferenceExpression(), field.Name); returnStatement.Expression = fieldReference; }
public StructGenerator AddField(FieldGenerator field) { structType.Members.Add(field.Member); Fields.Add(field); return(this); }
public ClassGenerator AddField(FieldGenerator field) { classType.Members.Add(field.Member); Fields.Add(field); return(this); }
public FieldTarget(FieldGenerator field) { Expression = new CodeFieldReferenceExpression(new CodeThisReferenceExpression(), field.Name); }