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;
}
производит следующий код:
partial void OnUpdate() {
}
partial void OnInsert() {
}
partial void OnDelete() {
}
partial void OnSelect() {
}
partial void OnSelectAll() {
}
Как я могу заставить CodeDom сбросить "{}
", что устранит ошибку компиляции, которую я получаю при попытке компиляции? Я думал о том, чтобы просто использовать CodeSnippetStatement
(что я бы предпочел не делать, так как это в первую очередь противоречит цели использования CodeDom), но я не могу найти место в классе CodeTypeDeclaration
для добавления фрагментов.
Итак: мне нужно либо
- Добавление метода без реализации в класс
- Добавление случайного фрагмента в класс
- Тайна 3-й вариант