Я хочу использовать шаблон Builder и использовать его в цепочке методов.
Это мой класс:
public class SQLGenerator : ISQLGenerator
{
private readonly SQLGeneratorModel generatorModel;
public SQLGenerator()
{
generatorModel = new SQLGeneratorModel();
}
public ISQLGenerator From(string TableName)
{
generatorModel.TabelName = string.Format("FROM {0}", TableName);
return this;
}
public ISQLGenerator Select(List<string> SelectItems)
{
StringBuilder select = new StringBuilder();
var lastItem = SelectItems.Last();
foreach (var item in SelectItems)
{
if (!item.Equals(lastItem))
{
select.Append(item).Append(" , ");
}
else
{
select.Append(item);
}
}
generatorModel.Select =string.Format("SELECT {0}", select.ToString());
return this;
}
Вот как этот класс используется:
SQLGenerator generator = new SQLGenerator();
List<string> select = new List<string>();
select.Add("id");
select.Add("Name");
var str = generator.Select(select).From("AppUsers");
Console.WriteLine(str);
Теперь я ожидаю, что строка будет возвращена следующим образом: SELECT ID , NAME FROM APPUSER
, но в консоли он показывает мне этот результат:
SqlPagingGenerator.Pattern.SQLGenerator
Как показать результат строки