Java中的Lombok项目是如何工作的,在.net中使用属性是否可以?

2022-09-02 13:55:23

龙目岛项目使得在类中实现样板代码变得微不足道。使用 .NET 属性是否可以实现?那里有.net端口吗?


答案 1

那么在龙目岛,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”时,龙目岛的神奇“自动构造函数”部分确实大放异彩。至于.Net的替代方案,据我所知,.Net注释不提供在字节代码进入编译器之前拦截它的能力(龙目岛使用这种效果如此之大),所以你的选择仅限于一些模板系统+像nAnt这样的构建脚本。这将是一团糟的维护。


答案 2

现在有一个 .NET 端口!Lombok.NET 退房。

免责声明:我是这个库的作者。


推荐