Comment projet Lombok dans les travaux de Java et est-ce possible en utilisant des attributs .net?
Question
Projet Lombok fait trivial de mettre en œuvre le code passe-partout dans les classes. Est-ce possible avec les attributs .NET? Est-ce un port .net là-bas?
La solution
Eh bien à Lombok une classe Java pourrait ressembler à ceci
import lombok.Data;
@Data public class Cart {
private int id;
private DateTime created;
private int items;
private int status;
}
Alors que dans C # la même classe ressemblerait à ceci
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 dans cet exemple) obtient assez proche sans d'autres bibliothèques, mais comme vous commencez à ajouter « finale » à certaines propriétés de la magie partie « constructeur automobile » de Lombok brille vraiment. En ce qui concerne une alternative .Net, si je comprends bien les annotations .Net ne fournissent pas la capacité d'intercepter le code octet avant qu'il ne passe au compilateur (ce que Lombok utilise à bon effet), de sorte que vos options sont limitées à un certain modèle système + un script de compilation comme NANT. Ce serait un gâchis de maintenir.