Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过反射从字典中获取信息_C#_.net_Reflection_Dictionary - Fatal编程技术网

C# 通过反射从字典中获取信息

C# 通过反射从字典中获取信息,c#,.net,reflection,dictionary,C#,.net,Reflection,Dictionary,假设我有一个具有以下模式的类 public MyClass { public Dictionary<String, Class1> Dict1 { get; set; } public Myclass() { // Add and work with dic1 } } 公共MyClass{ 公共字典Dict1{get;set;} 公共Myclass(){ //添加并使用dic1 } } 我想用反射来得到这条格言的所有类别1。我希望这是明确的

假设我有一个具有以下模式的类

public MyClass {
    public Dictionary<String, Class1> Dict1 { get; set; }

    public Myclass() {
       // Add and work with dic1
    }
}
公共MyClass{
公共字典Dict1{get;set;}
公共Myclass(){
//添加并使用dic1
}
}
我想用反射来得到这条格言的所有类别1。我希望这是明确的,否则让我知道,我会把更多的信息。谢谢,任何帮助都将不胜感激。

这就够了

dic1.Values.OfType<Class1>()
dic1.Values.OfType()

为什么您认为需要使用反射;为什么
Dict1.Values
不够用?我在MyClass中没有更多的字典,而且是动态的。这意味着我对class1、class2等一无所知。所以我想我将通过GetType()获取Myclass的所有属性。GetProperties()然后在字典中循环以获取每个键的值。谢谢你的回复。如果有更好的解决方案,我可以更改设计。实际上,Dictionary.Values已经是一个ICollection,不需要调用.OfType()。