在 C# 中檢索命名空間內的類別
在 C# 中,取得特定命名空間內的所有類別需要間接方法。要實現此目的:
枚舉程序集類型:
依命名空間濾波:
以下程式碼片段示範了此過程:
private Type[] GetTypesInNamespace(Assembly assembly, string nameSpace) { return assembly.GetTypes() .Where(t => String.Equals(t.Namespace, nameSpace, StringComparison.Ordinal)) .ToArray(); }
用法範例:
Assembly executingAssembly = Assembly.GetExecutingAssembly(); Type[] typelist = GetTypesInNamespace(executingAssembly, "MyNamespace"); for (int i = 0; i < typelist.Length; i++) { Console.WriteLine(typelist[i].Name); }用法範例:
Assembly myAssembly = typeof(<Namespace>.<someClass>).GetTypeInfo().Assembly; Type[] typelist = GetTypesInNamespace(myAssembly, "<Namespace>"); for (int i = 0; i < typelist.Length; i++) { Console.WriteLine(typelist[i].Name); }用法範例:用法範例:對於2.0 之前的 .NET 版本,其中 Assembly.GetExecutingAssembly() 不可用:
以上是如何在 C# 中檢索特定命名空間內的所有類別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!