internal List<CodeMemberMethod> createEventHooks()
{
string[] eventNames = new string[] { "OnUpdate", "OnInsert", "OnDelete", "OnSelect", "OnSelectAll" };
List<CodeMemberMethod> eventHooks = new List<CodeMemberMethod>();
foreach (string eventName in eventNames)
{
CodeMemberMethod eventHook = new CodeMemberMethod();
eventHook.Name = eventName;
eventHook.Attributes = MemberAttributes.ScopeMask;
eventHook.ReturnType = new CodeTypeReference("partial void");
}
return eventHooks;
}
được sản xuất đoạn mã sau:Làm thế nào để thêm một phương pháp từng phần mà không một thực hiện sử dụng CodeDOM
partial void OnUpdate() {
}
partial void OnInsert() {
}
partial void OnDelete() {
}
partial void OnSelect() {
}
partial void OnSelectAll() {
}
Làm thế nào tôi có thể nhận được CodeDOM để thả "{}
", mà sẽ giải quyết các lỗi biên dịch tôi m đang cố gắng biên dịch? Tôi nghĩ chỉ cần sử dụng một CodeSnippetStatement
(mà tôi không muốn làm, vì điều này đánh bại mục đích sử dụng CodeDom ngay từ đầu), nhưng tôi không thể tìm thấy một nơi trong lớp CodeTypeDeclaration
để thêm đoạn mã.
Vì vậy: Tôi cần một trong hai
- Thêm một phương pháp thực hiện, ít hơn để một lớp
- Thêm một đoạn mã ngẫu nhiên để một lớp
- Bí ẩn tùy chọn thứ 3
Một hack thực sự thông minh! –