có bất kỳ lớp nào trong khung .net cho phép tôi tạo các lớp mà tôi có thể lưu dưới dạng tệp .cs hoặc .vb không?Tạo mã bằng cách sử dụng .net
Trả lời
Xem không gian tên System.CodeDom. Về cơ bản bạn sử dụng CodeDom để tạo ra một mô hình trừu tượng của lớp. Sau đó, bạn khởi tạo CSharpCodeProvider hoặc VBCodeProvider và sử dụng một trong các phương thức CodeDomProvider.GenerateCodeFrom ... để phát ra nó như là một loại mã nguồn thích hợp. Đây là công nghệ cơ bản được sử dụng bởi Windows Forms Designer, xsd.exe, v.v.
Được cảnh báo, tuy nhiên, CodeDom khá dài và khó sử dụng. Nếu các lớp của bạn phức tạp vừa phải, bạn có thể muốn sử dụng một công cụ tạo khuôn mẫu như T4 hoặc NVelocity thay thế.
Bạn có thực sự cần các lớp .NET cụ thể hoặc bạn có thể sống với phần bổ trợ cho Visual Studio không ??
Nếu bạn có Visual Studio, hãy kiểm tra mẫu T4 - một trong những tài sản ít được biết đến nhất nhưng có giá trị nhất trong VS!
- T4 (Text Template Transformation Toolkit) Code Generation - Best Kept Visual Studio Secret
- Visual Studio's T4 Code Generation
- T4 Architecture và bất cứ điều gì khác trên blog/trang web tuyệt vời Oleg về T4
- T4: Text Template Transformation Toolkit
Có ít nhất một công cụ dòng lệnh mà bạn có thể gọi từ. NET code để làm việc chuyển đổi, nhưng tôi khá chắc chắn bạn cũng có thể gọi một số công cụ chuyển đổi như là một lớp học. NET và có nó tạo ra C# hoặc VB.NET co từ mẫu T4 của bạn theo lập trình.
Thông thường, việc sử dụng T4 dễ hơn rất nhiều so với CodeDom - nó có giới hạn của nó, nhưng đối với hầu hết, đó là một công nghệ tuyệt vời để hoàn thành công việc nhanh chóng và dễ dàng.