項目Lombok使在類中實現樣板代碼變得微不足道。 .NET屬性有可能嗎?那裏有.net端口嗎?在Java中的項目龍目島是如何工作的,在.net中使用屬性可能嗎?
回答
那麼在龍目島一個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註釋並沒有提供截取字節碼到編譯器之前的能力(Lombok使用這種效果非常好),所以你的選擇僅限於某些模板系統+構建腳本,如nAnt。這將是一個混亂的維護。
你不能攔截字節碼生成,但是有一些相當複雜的庫來解析最終的程序集。您可以在代碼中使用公共字段,然後在生成後步驟中將所有涉及的程序集重寫爲使用自動生成的屬性。但是你將無法實現龍目與這種技術所做的一切。更好地使用T4(代碼生成)和部分類。 – 2010-12-13 20:29:10
@Jason你的C#代碼並不等同於Java代碼:equals和hashCode缺失。龍目島也生成這一點。 – Jirka 2013-05-07 07:58:55
的確如此。自從我寫出這個答案已經有相當長的一段時間了。自那時以來我學到了很多東西,但我認爲我的觀點仍然存在。 Lombok會自動執行很多操作,而且它使用的方法(仍然)是Java所獨有的。 – 2013-05-07 08:03:51
- 1. 如何使用項目龍目島與Java項目
- 2. 龍目島不在Netbeans項目中工作
- 3. 不能對Eclipse的(太陽神)項目龍目島的工作
- 4. 項目龍目島適合大型java項目嗎?
- 5. 在龍目島
- 6. 可選在龍目島
- 7. @Data項目龍目島是認識,但沒有工作
- 8. 龍目島的JavaFX特性
- 9. 在龍目島的IntelliJ
- 10. 加龍目島插件的IntelliJ項目
- 11. 「@__()」在龍目島的含義是什麼?
- 12. 龍目島:RequiredArgsConstructor無法正常工作
- 13. 如何與龍目島合作?
- 14. 如何在使用龍目島的@Cleanup時捕捉異常?
- 15. 龍目島Android版
- 16. 在java項目中遺留的屬性
- 17. 龍目島的詹金斯
- 18. 與Hibernate,Spring中,MySQL的5.7,龍目島
- 19. 龍目島批註中的Android
- 20. 編譯Java/Scala混合項目和龍目島時出錯
- 21. 如何使用.NET在TFS2010中查詢子工作項目
- 22. 龍目島新手與JSTL - 它應該如何工作?
- 23. 我可以在Orchard CMS中使用我的Ninject .NET項目嗎?
- 24. 可以在.Net 2.0項目中使用AjaxControlToolkit的AsyncFileUpload嗎?
- 25. 如何在靜態庫項目中使用XCode性能工具?
- 26. 如何在Actionscript項目中製作可綁定屬性
- 27. 在我的Android項目中使用ToStringBuilder.reflectionToString()的性能不好嗎?
- 28. 龍目島有沒有「PostConstruct」功能?
- 29. 龍目島能否降低業績?
- 30. 在Java項目中使用jar嗎?
不.Net已經有屬性? – Goibniu 2010-10-18 13:34:57
@Rlmeq是的,但看到這個例子http://projectlombok.org/features/Data.html。它幾乎看起來像是帶有單一屬性的魔術 – suhair 2010-10-18 13:37:12