Как работает проект Lombok в Java и возможно ли это в .net с использованием атрибутов? - PullRequest
11 голосов
/ 18 октября 2010

Проект Ломбок упрощает реализацию стандартного кода в классах.Возможно ли это с атрибутами .NET?Есть ли .net порт там?

1 Ответ

6 голосов
/ 10 декабря 2010

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

import lombok.Data;

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

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

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

Таким образом, C # (в данном примере 3.0) довольно близок без каких-либо других библиотек, но когда вы начинаете добавлять «final» к некоторым свойствам, волшебная часть «auto constructor» в Lombok действительно сияет. Что касается альтернативы .Net, насколько я понимаю, аннотации .Net не дают возможности перехватить байт-код перед его передачей в компилятор (то, что Lombok использует для такого большого эффекта), поэтому ваши параметры ограничены каким-то шаблоном система + скрипт сборки типа nAnt. Это было бы беспорядок, чтобы поддерживать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...