与えられた名前空間内のすべてのクラスのList
をプログラムで取得する必要があります。どうすればC#でこれを実現できますか? LINQなしC#のネームスペースのクラスのリストを取得
答えて
var theList = Assembly.GetExecutingAssembly().GetTypes()
.Where(t => t.Namespace == "your.name.space")
.ToList();
:
は試してみてください。
Type[] types = Assembly.GetExecutingAssembly().GetTypes();
List<Type> myTypes = new List<Type>();
foreach (Type t in types)
{
if (t.Namespace=="My.Fancy.Namespace")
myTypes.Add(t);
}
Assembly.GetExecutingAssembly()。GetTypes()。ToList()は、必要なリストを提供します。 – Gregory
はいGregは、技術的にはLINQ拡張メソッドを使用していますが、私の例では、.NET 3.5を使用せずにこれを表示することを意図していました。 –
クリーンなnon linqの例OPは、アセンブリが既にロードされているリストが長くなり、名前空間がより多くのアセンブリにあるはずの空のセットイベント:) –
が提供さ答えはタイプの配列を返します。このHow to get all classes within namespace?を見てみましょう[]あなたがリスト
私はできる簡単に返すために、これを変更することができます正確な名前空間内の型を見つけるために型をループすることを考えてください。
public List<Type> GetList()
{
List<Type> types = new List<Type>();
var assembly = Assembly.GetExecutingAssembly();
foreach (var type in assembly .GetTypes())
{
if (type.Namespace == "Namespace")
{
types.Add(type);
}
}
return types;
}
- 1. WCFサービスのネームスペースを取得
- 2. 任意のネームスペースにisntするクラスを取得します。
- 3. C#リフレクションごとにネームスペース内のクラスリストを取得
- 4. C#の取得クラス名
- 5. ヘッダのC/C++ネームスペース
- 6. C#のネームスペース
- 7. Objective CのネームスペースC++クラスの前方宣言
- 8. C++ネームスペースとそのネームスペースに依存するクラスを持つ方法
- 9. Javaクラス名とネームスペースからライブラリを取得する
- 10. AppDomainで利用可能なすべてのネームスペースのリストを取得する
- 11. C#のAzureサーバのリストを取得
- 12. DNNの言語クラスのネームスペース
- 13. C++のMono Assembly.dllからすべてのタイプ/クラスのリストを取得
- 14. C#の循環ネームスペース
- 15. xmlファイルからネームスペースを取得するC#
- 16. C# - 別のクラスから値を取得
- 17. 別のクラスC#からプロパティを取得
- 18. C#webBrowserクラス内の要素を取得
- 19. C#の2つのリストの間に明確なリストを取得
- 20. C#リスト /リスト<class>値を取得
- 21. ロードするクラスに必要なクラスのリストを取得する
- 22. C++のネームスペースの問題
- 23. C#Reflectionを使用してクラスTからプロパティのリストを取得
- 24. C#別のクラスのリスト
- 25. ネームスペース内のすべてのリソースのリスト
- 26. リスト内のリストを取得
- 27. javaのクラスのフィールドのリストを取得するには?
- 28. Eclipse:クラスの属性のリストを取得するためのキーバインド
- 29. 任意のクラスのクラスメソッドのリストを取得
- 30. Virtuosoのオントロジーのリストとそのプロパティとクラスを取得
質問が重複としてマークされ、元のものが参照されない場合、どのように迷惑になりますか。 – War