Tôi có hệ thống trình tạo mã mẫu của riêng mình, biên dịch mã trong một miền ứng dụng riêng biệt, từ trước khi VS2008 xuất hiện.
Nếu bạn quan tâm, hãy đăng nhận xét và tôi sẽ đăng url lên mã.
Mã để sử dụng công cụ tạo mẫu của tôi là here, bạn có thể duyệt qua bằng trình duyệt web hoặc trỏ một máy khách Subversion vào đó. Lưu ý, liên kết bắt đầu ở đây thực sự dừng sau từ, nhưng trình kết xuất đồ họa WMD phía máy chủ rò rỉ liên kết vào văn bản sau.
Lưu ý rằng nếu bạn chỉ sao chép tệp đơn trong không gian tên đó, thì nó sẽ không tự biên dịch, nó yêu cầu một số thứ trong LVK.Delegates và LVK.Scripting, không gian tên lên một vài cấp từ liên kết ở trên . Nếu bạn không muốn hút toàn bộ thư viện, bạn sẽ cần phải trích xuất các phần mà nó phàn nàn về từng cái một cho đến khi nó biên dịch.
Ngoài ra còn có phiên bản nhị phân của thư viện tại
/LVK_3_5/trunk/Binaries/Debug/LVK trong cùng một kho lưu trữ. Nếu bạn tải nó đơn giản như chỉ cần thêm một tham chiếu đến nó, và kiểm tra lớp
LVK.Text.Templates.TextTemplate.
Rất tiếc, tôi không có bất kỳ ví dụ nào cho thư viện của tôi vào lúc này.
Về cơ bản, sử dụng một mẫu:
TextTemplate tt = new TextTemplate();
tt.Source = "... code here, check example file above ...";
tt.Compile();
String output = tt.Generate(singleObjectParameter);
Bên trong mẫu, mà về cơ bản tất cả các mã được chèn trong một phương pháp duy nhất (điều này có nghĩa rằng nó không tốt như T4 về việc có thể để thêm các phương thức dễ dàng, nhưng bạn có thể sử dụng các phương thức nặc danh), bạn sẽ có quyền truy cập vào đối tượng dữ liệu được truyền vào nó như một tham số có tên là dữ liệu.
Vì vậy, để chỉ ra nội dung của các tham số truyền vào:
<%= data %>
Để lặp lại nó:
<% for (Int32 index = 0; index < 10; index++) { %>
<%= data %>
<% } %>
Nếu bạn có thắc mắc, gửi chúng vào email của tôi tại [email protected]
Giấy phép (EULA) trên bản tuyên bố phân phối lại T4 là gì? Có một redistributable? –
Đó là vấn đề - Tôi đã không thể tìm thấy một trong hai (chưa). Tôi biết nó phải được đóng gói nội bộ trong MS bằng cách nào đó bởi vì nó chỉ được sử dụng trong sản phẩm P & P Blueprints mới của họ. – Rammesses