Доброго #part_of_day#
Я понимаю про совместимость с базовыми интерфейсами и т.д, но ведь наличие публичных неработающих методов выглядит крайне странно и приводит к ошибкам .
Я вот как раз недавно в спешке добавил к классу, в котором находится Immutable коллекция новый метод, который добавлял новые элементы не к бильдеру, а к самой коллекции(тупо забыл как она реализована), и потом долго не мог понять почему 2 года работало и вдруг перестало.
Или может я как то не так делаю/понимаю?
У меня так:
static ImmutableList<Test>.Builder _test_builder = ImmutableList.CreateBuilder<Test>();
public static ImmutableList<Test> Tests => _test_builder.ToImmutable();
public static void RemoveTest(Test test) {
_test_builder.Remove(test);
}
public static void AddTest(Test test) {
_test_builder.Add(test);
}
public static void Main() {
var nt = new Test(); //new Test
Tests.Add(nt); //хрен
AddTest(nt); //ок
Tests.Remove(nt); //хрен
RemoveTest(nt);//ок
}