与えられた名前空間内のすべてのクラスの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. AppDomainで利用可能なすべてのネームスペースのリストを取得する
- 5. Javaクラス名とネームスペースからライブラリを取得する
- 6. ヘッダのC/C++ネームスペース
- 7. Objective CのネームスペースC++クラスの前方宣言
- 8. C#のネームスペース
- 9. C#の2つのリストの間に明確なリストを取得
- 10. ロードするクラスに必要なクラスのリストを取得する
- 11. xmlファイルからネームスペースを取得するC#
- 12. C#の循環ネームスペース
- 13. 任意のクラスのクラスメソッドのリストを取得
- 14. Virtuosoのオントロジーのリストとそのプロパティとクラスを取得
- 15. javaのクラスのフィールドのリストを取得するには?
- 16. javascriptでセレンのクラス名を持つ要素のリストを取得
- 17. C++のネームスペースの問題
- 18. javaのクラスからメソッドのリストを取得するには?
- 19. クラスのプロパティのリストを取得するには?
- 20. オブジェクトやクラスのメソッドのリストを取得するには?
- 21. android dexclassloaderすべてのクラスのリストを取得
- 22. T4テンプレート内のedmxのネームスペースを取得する
- 23. リストのリストから要素を取得
- 24. SharePointリストの列を取得
- 25. Androidテーブルのリストを取得
- 26. C#のディレクトリからファイルのリストを取得するには
- 27. Objective-Cのインスタンス変数のクラスへのポインタを取得
- 28. プログラムでC++クラス名を取得する
- 29. C++:Extern Cネームスペース内の関数
- 30. 子ネームスペースにある親ネームスペースアクセスクラスのクラス
質問が重複としてマークされ、元のものが参照されない場合、どのように迷惑になりますか。 – War