Trước khi tôi đầu tư rất nhiều thời gian nghiên cứu Razor và khả năng ứng dụng của nó, tôi muốn hỏi bạn Razor gurus nếu ai có thể sử dụng Razor để tạo mã C#? Bất kỳ vấn đề mà bạn có thể nghĩ ngay lập tức?Sử dụng dao cạo để tạo mã?
Trả lời
Bạn chắc chắn thể sử dụng Razor để tạo ra mã C#, nhưng nó không thực sự được thiết kế cho các ngôn ngữ phi XML như thế nào. Bạn sẽ phải có rất nhiều thẻ < văn bản >.
Cảm ơn, đó là thông tin tôi đang tìm kiếm. – epitka
+1 Cảm ơn thông tin về ´
Andrew - Dao cạo tốt hơn 100 lần so với bất kỳ động cơ templating nào khác mà tôi đã gặp. Kudos cho bạn! Tôi chắc chắn sẽ vẫn sử dụng nó hơn máy phát điện gode khác, thậm chí w/
Bạn có thể sử dụng dao cạo giống như mẫu T4 để tạo bất kỳ loại văn bản nào. Xem bài đăng trên blog này.
http://weblogs.asp.net/mikaelsoderstrom/archive/2010/08/03/use-razor-for-t4-templates.aspx
thử đầu tiên của tôi với phiên bản razor .dll 2.1.4039.23635 là dễ dàng hơn nhiều so với tôi dự kiến
Đây là một bản demo làm việc nhỏ
Các CodeGenerator
using System.Diagnostics;
using RazorEngine;
namespace CodeGen3b
{
class Program
{
static void Main(string[] args)
{
string template = ... see below;
try
{
string generatedCode = Razor.Parse(template,
new { UserNamespace = "MyOwnNamespace" });
Debug.WriteLine(generatedCode);
}
catch (System.Exception ex)
{
Debug.WriteLine(ex.Message);
Debug.WriteLine(ex.StackTrace);
}
}
}
}
Các mẫu trông giống như thế này
using System;
namespace @Model.UserNamespace
{
class Program
{
static void Main(string[] args)
{
@for(int i = 0; i < 3; i++){
<text>Debug.WriteLine("hello @i " + @Model.UserNamespace);
</text>}
}
}
}
Lưu ý các yếu tố có thể ngăn chặn <text>
dao cạo từ giải thích Debug.WriteLine
Các đầu ra là
using System;
namespace MyOwnNamespace
{
class Program
{
static void Main(string[] args)
{
Debug.WriteLine("hello 0 " + MyOwnNamespace);
Debug.WriteLine("hello 1 " + MyOwnNamespace);
Debug.WriteLine("hello 2 " + MyOwnNamespace);
}
}
}
Nó sẽ được tốt đẹp nếu Razor sẽ thực hiện @"..."@
hoặc @'...'@
như bí danh cho <text>...</text>
. Tôi đã thêm razorengine.codeplex-Issue này làm yêu cầu cải thiện. Nếu bạn có kế hoạch để sử dụng dao cạo như CodeGenerator xin upvote nó ở razorengine.codeplex-Issue
Chỉnh sửa: như @Epitka đề nghị, chúng ta có thể sử dụng @:
ở vị trí của một đơn thẻ dòng văn bản:
using System;
namespace @Model.UserNamespace
{
class Program
{
static void Main(string[] args)
{
@for(int i = 0; i < 3; i++){
@:Debug.WriteLine("hello @i " + @Model.UserNamespace);
}
}
}
}
- 1. Sử dụng một ScriptManager trong dao cạo?
- 2. Sử dụng Dao cạo trong ứng dụng bảng điều khiển
- 3. Cách tạo chuỗi javascript trong dao cạo
- 4. Có cách nào để sử dụng mã jquery bên trong dao cạo?
- 5. Lỗi biên dịch dao cạo bằng cách sử dụng NancyFX
- 6. Bản định kiểu động Sử dụng dao cạo
- 7. Nối mã HTML vào phần Dao cạo hiện có
- 8. Đoạn mã không hiển thị trong dao cạo ASP.net MVC4
- 9. Nút radio Dao cạo MVC
- 10. Chuỗi dao cạo Thay thế
- 11. Tạo Trình trợ giúp Dao cạo MVC3 như Helper.BeginForm()
- 12. Đơn vị kiểm tra dao cạo
- 13. Lớp học trong mẫu dao cạo
- 14. Shorthand nếu khác với dao cạo
- 15. asp.net mvc3 tài liệu dao cạo?
- 16. Sự cố cú pháp- Dao cạo MVC4
- 17. Cách đúng để sử dụng chế độ xem _viewstart.cshtml và một phần Dao cạo?
- 18. Làm cách nào để tạo mã thụt đầu dòng hoạt động chính xác trong các tệp dao cạo vbhtml?
- 19. đi qua một biến từ dao cạo cshtml để jquery
- 20. Kết hợp mã html và mã trong foreach trong dao cạo
- 21. Làm thế nào có thể sử dụng dao cạo Bình luận trên khối JavaScript/
- 22. Tài liệu tham khảo dao cạo ASP.NET
- 23. Biến Javascript trong dao cạo ActionLink
- 24. Lực đẩy dao cạo để không thoát khỏi url
- 25. Ngăn chặn ngắt dòng sau @ Html.LabelFor Trong ASP.NET MVC 4 Sử dụng dao cạo
- 26. Khối mã @functions trong tệp dao cạo làm gì và khi nào (nếu bao giờ) tôi nên sử dụng nó?
- 27. Làm cách nào để bao gồm thẻ ul bên trong khối mã dao cạo?
- 28. sử dụng biến javascript trong MVC3 Công cụ xem dao cạo
- 29. Cách đặt ID và sử dụng nó tự động trong dao cạo 4 mvc?
- 30. Hiển thị mã html bằng cách sử dụng TagBuilder và ASP.NET MVC 4 (với công cụ Dao cạo)
nhận xét về "đóng cửa như quá rộng ": Câu hỏi này có thực sự mở rộng không? Câu hỏi thực sự ở đây là "có thể sử dụng dao cạo để tạo mã và nếu có". Có một ví dụ làm việc cho thấy cách tạo mã. – k3b