首頁 >後端開發 >C++ >如何從 C# 中的特定命名空間檢索所有類別?

如何從 C# 中的特定命名空間檢索所有類別?

Patricia Arquette
Patricia Arquette原創
2024-12-29 10:33:101016瀏覽

How Can I Retrieve All Classes from a Specific Namespace in C#?

檢索C# 中命名空間內的所有類別

要取得C# 中特定命名空間內的所有類,請使用以下技術:

使用以下指令取得目標程式集中的所有類型Assembly.GetTypes().

根據命名空間過濾所取得的類型。使用Where和String.Equals將每種類型的命名空間與所需的命名空間相符。

使用ToArray()將結果型集合轉換為陣列。

範例:

using System.Reflection;

private Type[] GetTypesInNamespace(Assembly assembly, string nameSpace)
{
    return
      assembly.GetTypes()
              .Where(t => String.Equals(t.Namespace, nameSpace, StringComparison.Ordinal))
              .ToArray();
}

要使用此方法,請使用目標組件和命名空間呼叫它:

Type[] typelist = GetTypesInNamespace(Assembly.GetExecutingAssembly(), "MyNamespace");

對於版本.Net 2.0 之前:

Assembly myAssembly = typeof(Namespace.someClass).GetTypeInfo().Assembly;
Type[] typelist = GetTypesInNamespace(myAssembly, "Namespace");

以上是如何從 C# 中的特定命名空間檢索所有類別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn