动态读取项目文件夹中的类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动态读取项目文件夹中的类相关的知识,希望对你有一定的参考价值。

我有一个VS项目,我需要动态读取项目文件夹中的类名,以便实例化它们。我可以读取文件名,但随后我必须解析内容,因为文件内的类名可能与文件名不匹配。有没有更简单的方法?

答案

而不是遍历源代码文件,只需使用反射列出在程序集中的所有类中进行迭代。然后,您可以根据需要实例化每个类。

string mynamespace = "FantasticBeasts";

var q = from t in Assembly.GetExecutingAssembly().GetTypes()
        where t.IsClass && t.Namespace == mynamespace
        select t;

https://docs.microsoft.com/en-us/dotnet/api/system.reflection.assembly.gettypes

要实例化每个类,然后可以使用:

Activator.CreateInstance(Type)

https://docs.microsoft.com/en-us/dotnet/api/system.activator.createinstance

以上是关于动态读取项目文件夹中的类的主要内容,如果未能解决你的问题,请参考以下文章

C++:动态 .so 库中的类

扩展片段的类中的选项卡

如何更新导航抽屉中的有状态小部件,同时在 Android 中保持与片段相同的类?

java中如何从当前项目中读取运行另一项目中的配置文件?

在动态 viewpager 片段中创建 recyclerviews

如何将 View 类中的代码片段移动到 OnAppearing() 方法?