繁体   English   中英

如何在C#中使用Reflection创建类对象?

[英]how can I create Class object using Reflection in c#?

我有一个具有多个类A.cs,B.cs的项目Car,我创建了它的one.dll并将其添加到另一个项目CarDate中。

如何使用反射在项目CarDate中的Car项目中创建所有.cs文件的对象(例如A.cs)?

忽略事实,我不了解您的目标,您可以尝试类似下面的代码。

var carAssembly  = typeof (/* any type from Car project */).Assembly;
var types = carAssembly.GetTypes().Where(t => t.IsClass && !t.IsAbstract && !t.IsGenericType);
var objects = types.Select(Activator.CreateInstance);

它仅适用于项目中声明的某些类型(我过滤了所有不是抽象或通用类的类型),并且仅当找到的所有类都具有默认构造函数时才适用。 您可以自己修改一下。 顺便说一句,对于这种任务还没有通用的解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM