在開始之前,先補充一下上一篇爛文的內(nèi)容。在上一篇文章中,老周檢討了 MemberAttributes 枚舉的用法,老周此前誤以為該枚舉不能進(jìn)行按位操作,后來發(fā)現(xiàn)是可以的。不過啊,MemberAttributes 枚舉有些情況下不那么好弄,最典型的就是要生成抽象類的時候,反正老周試了很久,用MemberAttributes枚舉不能順利生成抽象類。
這時候,老周想到了 TypeAttributes,然后就試了一下。
CodeTypeDeclaration t = new CodeTypeDeclaration("MyClass"); t.TypeAttributes = System.Reflection.TypeAttributes.Abstract; CodeMemberProperty pry = new CodeMemberProperty(); pry.Name = "A"; pry.Attributes = MemberAttributes.Abstract | MemberAttributes.Public; pry.Type = new CodeTypeReference(typeof(string)); t.Members.Add(pry); CodeDomProvider p = CodeDomProvider.CreateProvider("cs"); p.GenerateCodeFromType(t, Console.Out, null);