private void AppendPropertyInitializationFromHost(bool hasHost, T4ParameterDescription description) { if (!hasHost) { return; } AppendIndent(); Result.AppendLine($"if (({description.PropertyNameString}ValueAcquired == false))"); using (new CodeBlockCookie(this)) { AppendIndent(); Result.AppendLine( "string parameterValue = this.Host.ResolveParameterValue(\"Property\"," + $" \"PropertyDirectiveProcessor\", \"{description.PropertyNameString}\");"); AppendIndent(); Result.AppendLine("if ((string.IsNullOrEmpty(parameterValue) == false))"); using (new CodeBlockCookie(this)) { AppendIndent(); Result.Append( $"{T4TextTemplatingFQNs.TypeConverter} tc = {T4TextTemplatingFQNs.GetConverter}(typeof("); description.AppendType(Result); Result.AppendLine("));"); AppendIndent(); Result.AppendLine("if (((tc != null) "); AppendIndent(); Result.Append(new string(' ', indentSize * 3)); Result.AppendLine("&& tc.CanConvertFrom(typeof(string))))"); using (new CodeBlockCookie(this)) { AppendIndent(); Result.Append($"this.{description.FieldNameString} = (("); description.AppendType(Result); Result.AppendLine(")(tc.ConvertFrom(parameterValue)));"); AppendIndent(); Result.AppendLine($"{description.PropertyNameString}ValueAcquired = true;"); } AppendIndent(); Result.AppendLine("else"); using (new CodeBlockCookie(this)) { AppendTypeErrorMessage(description); } } } }
protected virtual void AppendFieldDeclaration([NotNull] T4ParameterDescription description) { AppendIndent(); Result.Append("private "); description.AppendType(Result); Result.Append(" "); Result.Append(description.FieldNameString); Result.AppendLine(";"); Result.AppendLine(); }
private void AppendPropertyInitializationFromSession([NotNull] T4ParameterDescription description) { AppendIndent(); Result.AppendLine($"bool {description.PropertyNameString}ValueAcquired = false;"); AppendIndent(); Result.AppendLine($@"if (this.Session.ContainsKey(""{description.PropertyNameString}""))"); using (new CodeBlockCookie(this)) { AppendIndent(); Result.Append($"this.{description.FieldNameString} = (("); description.AppendType(Result); Result.AppendLine($@")(this.Session[""{description.PropertyNameString}""]));"); AppendIndent(); Result.AppendLine($"{description.PropertyNameString}ValueAcquired = true;"); } }
private void AppendPropertyInitializationFromContext([NotNull] T4ParameterDescription description) { AppendIndent(); Result.AppendLine($"if (({description.PropertyNameString}ValueAcquired == false))"); using (new CodeBlockCookie(this)) { AppendIndent(); Result.AppendLine( $@"object data = global::System.Runtime.Remoting.Messaging.CallContext.LogicalGetData(""{description.PropertyNameString}"");"); AppendIndent(); Result.AppendLine("if ((data != null))"); using (new CodeBlockCookie(this)) { AppendIndent(); Result.Append($"this.{description.FieldNameString} = (("); description.AppendType(Result); Result.AppendLine(")(data));"); } } }