public static T AddParameter <T>(this IParameterized <T> parameterized, IParameterSymbol parameter) where T : BuilderBase <T>, IParameterized <T> { if (parameter.HasExplicitDefaultValue) { return(parameterized.AddParameterWithDefaultValue(parameter.Type, parameter.Name, parameter.ExplicitDefaultValue)); } return(parameterized.AddParameter(parameter.Type, parameter.Name)); }
public static T AddParameterWithDefaultValue <T>(this IParameterized <T> parameterized, ITypeSymbol typeSymbol, string parameterName = null, int index = -1) where T : BuilderBase <T>, IParameterized <T> { parameterized.Parent.AddNamespaceImport(typeSymbol); return(parameterized.AddParameterWithDefaultValue(typeSymbol, parameterName, index)); }