public static InterfacePropertyGenerator Property(string name, Type type, bool get, bool set) { var interfaceProp = new InterfacePropertyGenerator(); interfaceProp.name = name; interfaceProp.type = type; interfaceProp.get = (get ? "get; " : string.Empty); interfaceProp.set = (set ? "set; " : string.Empty); return(interfaceProp); }
private void DefineCode() { for (int i = 0; i < decorated.properties.Count; i++) { var prop = decorated.properties[i]; @interface.AddProperty(InterfacePropertyGenerator.Property(prop.name, prop.type, prop.get, prop.set)); } for (int i = 0; i < decorated.methods.Count; i++) { var method = decorated.methods[i]; var methodGen = InterfaceMethodGenerator.Method(method.name, method.returnType); foreach (KeyValuePair <string, Type> pair in method.parameters) { methodGen.AddParameter(ParameterGenerator.Parameter(pair.Key, pair.Value.As().CSharpName(fullName: true), ParameterModifier.None)); } @interface.AddMethod(methodGen); } }
public InterfaceGenerator AddProperty(InterfacePropertyGenerator generator) { properties.Add(generator); return(this); }