Подтвердить что ты не робот

Как работает проект Lombok в java и возможно ли это в .net с использованием атрибутов?

Проект Lombok делает тривиальным выполнение кода шаблона в классах. Это возможно с атрибутами .NET? Есть ли какой-нибудь порт .net?

4b9b3361

Ответ 1

Ну, в Ломбоке класс Java может выглядеть так:

import lombok.Data;

@Data public class Cart {
  private int id;
  private DateTime created;
  private int items;
  private int status;
}

В то время как в С# такой же класс будет выглядеть как

public class Cart {
  public int Id { get; set; }
  public DateTime Created { get; set; }
  public int Items { get; set; }
  public int Status { get; set; }
}

Итак, С# (3.0 в этом примере) довольно близко закрывается без каких-либо других библиотек, но когда вы начинаете добавлять "окончательные" к некоторым свойствам, магия "автоконструктора" в Lombok действительно сияет. Что касается альтернативы .Net, как я понимаю, аннотации .Net не обеспечивают возможность перехвата байтового кода перед тем, как перейти к компилятору (что Lombok использует для такого большого эффекта), поэтому ваши параметры ограничены некоторым шаблоном system + a build script как nAnt. Это будет беспорядок для поддержания.