在開(kāi)始之前,先補(bǔ)充一下上一篇爛文的內(nèi)容。在上一篇文章中,老周檢討了 MemberAttributes 枚舉的用法,老周此前誤以為該枚舉不能進(jìn)行按位操作,后來(lái)發(fā)現(xiàn)是可以的。不過(guò)啊,MemberAttributes 枚舉有些情況下不那么好弄,最典型的就是要生成抽象類的時(shí)候,反正老周試了很久,用MemberAttributes枚舉不能順利生成抽象類。

這時(shí)候,老周想到了 TypeAttributes,然后就試了一下。

大數(shù)據(jù)培訓(xùn),云培訓(xùn),數(shù)據(jù)挖掘培訓(xùn),云計(jì)算培訓(xùn),高端軟件開(kāi)發(fā)培訓(xùn),項(xiàng)目經(jīng)理培訓(xùn)

            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);

網(wǎng)友評(píng)論