簡體   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