Я хочу иметь возможность писать методы расширения, чтобы я мог сказать:
lines.ForceSpaceGroupsToBeTabs();
вместо:
lines = lines.ForceSpaceGroupsToBeTabs();
Однако в настоящий момент выводится следующий код:
....one
........two
вместо:
Tone
TTtwo
Что мне нужно изменить в следующем коде, чтобы сделать его вывод:
Tone
TTtwo
(обратите внимание, что для видимости . = space, T = \t
):
using System;
using System.Collections.Generic;
namespace TestExtended82343
{
class Program
{
static void Main(string[] args)
{
List<string> lines = new List<string>();
lines.Add("....one");
lines.Add("........two");
lines.ForceSpaceGroupsToBeTabs();
lines.ForEach(l => Console.WriteLine(l));
Console.ReadLine();
}
}
public static class Helpers
{
public static void ForceSpaceGroupsToBeTabs(this List<string> originalLines)
{
string spaceGroup = new String('.', 4);
List<string> lines = new List<string>();
foreach (var originalLine in originalLines)
{
lines.Add(originalLine.Replace(spaceGroup, "T"));
}
originalLines = lines;
}
}
}