如何获取一个.cs里所有的类?

SoulRed 2016-08-01 06:41:04
项目里的一个.cs文件里面包含3个类。
那么如何用反射或者其他方式获得这个.cs文件里所有类
...全文
427 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2016-08-02
  • 打赏
  • 举报
回复
如果只是对 .cs 文件,那么正则 class\s+(\w+) 就可搞定
john_QQ:2335298917 2016-08-02
  • 打赏
  • 举报
回复
反射是针对assembly的,不是针对CS文件的,你如果对cs文件操作,就要自己编个文本解析的程序
xuzuning 2016-08-02
  • 打赏
  • 举报
回复
使用反射获得命名空间下的所有类型
        static List<string> GetClasses(string nameSpace)
        {
            Assembly asm = Assembly.GetExecutingAssembly();

            List<string> namespacelist = new List<string>();
            List<string> classlist = new List<string>();

            foreach (Type type in asm.GetTypes())
            {
                if (type.Namespace == nameSpace)
                    namespacelist.Add(type.Name);
            }

            foreach (string classname in namespacelist)
                classlist.Add(classname);

            return classlist;
        }
巴士上的邂逅 2016-08-02
  • 打赏
  • 举报
回复
有图有真相
圣殿骑士18 2016-08-02
  • 打赏
  • 举报
回复
给class作标记吧,比如定义一个空接口 Ics,三个类统一继承自 Ics 接口。 这样反射后可以识别
我叫小菜菜 2016-08-02
  • 打赏
  • 举报
回复
引用 8 楼 From_TaiWan 的回复:
引用 7 楼 diaodiaop 的回复:
截取class 后面的单词
关键cs文件能不能用txt文件方式打开
are you sure?
HerveyHall 2016-08-02
  • 打赏
  • 举报
回复
如果是cs文件的话,直接读取字符串;如果编译好了就反射吧
秋的红果实 2016-08-02
  • 打赏
  • 举报
回复
引用 7 楼 diaodiaop 的回复:
截取class 后面的单词
关键cs文件能不能用txt文件方式打开
by_封爱 版主 2016-08-02
  • 打赏
  • 举报
回复
截取class 后面的单词
巴士上的邂逅 2016-08-01
  • 打赏
  • 举报
回复
vs sdk
秋的红果实 2016-08-01
  • 打赏
  • 举报
回复
好像不行,帮顶
Poopaye 2016-08-01
  • 打赏
  • 举报
回复
所谓的反射,针对的是Assembly,不是cs
无涯大者 2016-08-01
  • 打赏
  • 举报
回复
C# 反射笔记 供参考!~

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧