private static CodeAssignStatement CreatePropertyAssignment( ShellployCommandProperty property, CodeExpression resultVar ) { CodeExpression valueExpression = new CodePropertyReferenceExpression( This, property.PropertyName ?? property.Name ); if (property.UseFixedValue) { valueExpression = CreateLiteralExpression(property.FixedValue); } else if (property.Type == typeof(Boolean)) { valueExpression = new CodeMethodInvokeExpression(valueExpression, "ToBool"); } return(new CodeAssignStatement( new CodePropertyReferenceExpression( resultVar, property.Name ), valueExpression )); }
private static CodeMemberProperty CreateProperty(CodeTypeDeclaration targetClass, ShellployCommandProperty property) { var type = property.Type; if (type == typeof(Boolean)) { type = typeof(SwitchParameter); } var codeProperty = new CodeMemberProperty() { Name = property.PropertyName ?? property.Name, Type = new CodeTypeReference(type), Attributes = MemberAttributes.Public | MemberAttributes.Final, }; codeProperty.GenerateBackingField(targetClass, property.DefaultValue); foreach (var parameterAttribute in property.ParameterAttributes) { codeProperty.CustomAttributes.Add( typeof(SMA.ParameterAttribute), parameterAttribute.GetAttributeArguments() ); } return codeProperty; }
private static CodeAssignStatement CreatePropertyAssignment( ShellployCommandProperty property, CodeExpression resultVar ) { CodeExpression valueExpression = new CodePropertyReferenceExpression( This, property.PropertyName ?? property.Name ); if (property.UseFixedValue) { valueExpression = CreateLiteralExpression(property.FixedValue); } else if (property.Type == typeof(Boolean)) { valueExpression = new CodeMethodInvokeExpression(valueExpression, "ToBool"); } return new CodeAssignStatement( new CodePropertyReferenceExpression( resultVar, property.Name ), valueExpression ); }
private static CodeMemberProperty CreateProperty(CodeTypeDeclaration targetClass, ShellployCommandProperty property) { var type = property.Type; if (type == typeof(Boolean)) { type = typeof(SwitchParameter); } var codeProperty = new CodeMemberProperty() { Name = property.PropertyName ?? property.Name, Type = new CodeTypeReference(type), Attributes = MemberAttributes.Public | MemberAttributes.Final, }; codeProperty.GenerateBackingField(targetClass, property.DefaultValue); foreach (var parameterAttribute in property.ParameterAttributes) { codeProperty.CustomAttributes.Add( typeof(SMA.ParameterAttribute), parameterAttribute.GetAttributeArguments() ); } return(codeProperty); }